使用连字符或反斜杠分隔符的地址

时间:2016-06-08 10:54:34

标签: regex

我是正则表达式的新手。我有一个地址字段,此地址字段应接受-/作为分隔符,并在最后一个字符出现时为句号(.)。

这些应该被接受:

  

A-8/1

     

A / 1 / B

     

testaddress

但它不应接受除这两个以外的所有其他特殊字符:-/(以及最后一站:.)。此外,斜杠或连字符不应该是连续的,也不应出现在地址的开头或结尾。此外,地址是美国英语,因此不应允许带重音的字母。

我使用以下正则表达式:

^\w+(?:[\/,-]\w+)*.{0,1}$

但问题是它接受所有其他特殊字符。

我应该如何纠正我的正则表达式?

1 个答案:

答案 0 :(得分:0)

缺少几个规范,但这里有一个你可以使用的正则表达式:

/^([a-z0-9]+\s*[-\/]?\s*)*[a-z0-9]+\.?$/i

i修饰符使匹配不区分大小写。

Regex tester

如果您不接受分隔符两侧的空格,并且不接受重复的空格,则它变为:

^([a-z0-9]+[-\/\s]?)*[a-z0-9]+\.?$

Regex tester