空间
破折号
期间
撇号
我尝试使用下面的表达式
/^(?!.*(?:\s\s|-{2,}|\.{2,}|'{2,}))(?=[A-Za-z\s.\-']+$)(?!.*(?:^\.))/g
你能试试这个吗
常量模式 = /^(?!.--)(?!...)(?!.[^\w\s]\s+)(?!.\s[^\w\s ])(?!..\s)(?!.\s.)(?!.'\s)(?!.\s')(?!.[^\w\s- ]\s+)(?!.\s[^\w\s-])(?!.-\s)(?!.\s-)[A-Za-z0-9\s.- ]*[A-Za-z0-9]$/;
这是一个正则表达式,它试图将您的需求重构为一个单一的定义。
要允许单字符字段,第一个字符后的表达式是可选的。
我们必须单独禁止在开头或结尾使用环视的两个相邻的撇号。
/^(?!'')[^- .](([^- .']|[- .'][^- .'])*[^- .])?(?<!'')$/
如果您特别要求这些字符严格为字母数字,则可能需要进一步限制
[^- .]
和 [^- .']
。例如,上面的公式将允许两个相邻的逗号或抑扬符;也许你想要实际的文本,或者添加一些其他的进一步的约束。