我是正则表达式的新手。我有一个地址字段,此地址字段应接受-
或/
作为分隔符,并在最后一个字符出现时为句号(.
)。
这些应该被接受:
A-8/1
A / 1 / B
testaddress
但它不应接受除这两个以外的所有其他特殊字符:-
或/
(以及最后一站:.
)。此外,斜杠或连字符不应该是连续的,也不应出现在地址的开头或结尾。此外,地址是美国英语,因此不应允许带重音的字母。
我使用以下正则表达式:
^\w+(?:[\/,-]\w+)*.{0,1}$
但问题是它接受所有其他特殊字符。
我应该如何纠正我的正则表达式?
答案 0 :(得分:0)
缺少几个规范,但这里有一个你可以使用的正则表达式:
/^([a-z0-9]+\s*[-\/]?\s*)*[a-z0-9]+\.?$/i
i
修饰符使匹配不区分大小写。
如果您不接受分隔符两侧的空格,并且不接受重复的空格,则它变为:
^([a-z0-9]+[-\/\s]?)*[a-z0-9]+\.?$