我想用javascript验证一个街道地址。地址必须遵循类似Address 12
格式,其中它以一个或多个字符开头,后跟一个空格,然后至少跟一个数字。
我正在使用以下正则表达式:
(/[a-zA-Z+s?d+$]/.test(field)
以及这些的各种修改,但效果不佳。我怎样才能重写以使其正确?
多谢。
您似乎将括号中的字符集与其他正则表达式命令(例如可选和重复)混合在一起。像这样的东西会匹配一个单词,后跟一个空格和一个数字:
/^[a-zA-Z]+s[0-9]+$/.test(field_value)
也就是说,我不知道任何地址格式有一个单词后跟一个数字,例如,不允许在街道名称中使用多个单词。可以这样实现:
/^([a-zA-Z]+s)+[0-9]+$/
您正在使用表示字符类的[]
。其中定义的许多字符中只有一个将被匹配。
在您的情况下,它仅匹配 A。
您将不得不使用/w+ d+/
这意味着Any number of characters
space
one or more digits
正则表达式 101 演示