我想在地址字段中验证邮政编码或密码。这就是为什么我试图编写常规表达式,除了a-z(上下两个),0-9数字,圆形括号(例如'())和连字符( - )和空格。但是必须遵守一些规则,例如单个空格不能位于第一个位置,不能允许两个或更多个空格。
一些无效条目
1254588
125 255
((125)) 255
125--255
(125) (255)
125>2458
EL$ 2458
@L$ 2458
答案 0 :(得分:3)
如果这些都是重要的规则,那很简单:
^ # Start of string
(?! ) # First character mustn't be space
(?!.* ) # No two spaces in a row
[A-Za-z0-9 ()-]* # Match any number of these allowed characters
$ # End of string
或者,对于JavaScript:
/^(?! )(?!.* )[A-Za-z0-9 ()-]*$/
但我猜测"))))(((("
,"-------"
,"A"
甚至""
之类的字符串实际上不应该匹配,但是您的规则允许这样做。< / p>