请帮我创建街道地址的正则表达式
条件就像是
1.只允许数字,(/ - )和[ABCDFGHJKLMNPRSTV]
2.斜杠后最多允许两个连续字符(字母)
3.应仅以数字开头(最多4个数字),如果他们输入,则休息是可选的:应遵循上述标准
4.可能的组合就像是
12,1567,19 / A,123 / B,12-45,124-138,12-14 / A,14 / A-16,12 / A-16 / B,165 / 2,123 / 1,
12-14 / 2,14 / 2-16,12 / 2-16 / B,11 / A-12 / 1,12 / 1-14 / 2,0126 / 2-3,125 / BA,345 / BA / 128,
248/12 / A,123/234 / BA,246/12 / A / 2
我试过用
“^ \ d {1,4}([/ - ]?\ d {0,3} [ABCDFGHJKLMNPRSTV] {0,2} [/ - ]????\ d {0,3}
[ABCDFGHJKLMNPRSTVV] {0,2}?[/ - ]?\ d {0,3}?[ABCDFGHJKLMNPRSTV] {0,2}?)$“
此代码适用于上述组合但仍允许其他组合,
字符不应该跟“ - ( - C是错的)”后面只能跟**'/'**
我不想输入超过4位数,如果它是一个单独的字符串**(Ex :: 1234是正确的,现在它允许12345 ....到13个字符)**
如果它前面带有'/',则只允许两个字符(现在12ABCDABCD ..允许哪个不正确)。
请提前帮助我创建一个正确的正则表达式。
答案 0 :(得分:1)
试试这个:
^[0-9]{1,4}(([\-\/][0-9]{1,4})|(\/[ABCDFGHJKLMNPRSTV]{1,2}))*$
[0-9]{1,4}
:应该以长度为1到4的数字开头[\-\/][0-9]{1,4})
:接受-
或/
后跟数字(1到4个长度)(\/[ABCDFGHJKLMNPRSTV]{1,2})
:接受/
后跟[]
(([\-\/][0-9]{1,4})|(\/[ABCDFGHJKLMNPRSTV]{1,2}))*
:接受最后2个模式0次或更多次(每次一次)答案 1 :(得分:-1)
希望这会有所帮助
\d{1,5}\s\w.\s(\b\w*\b\s){1,2}\w*\.
此正则表达式将验证地址
999 S. ABCD St.
eg: 123 N. Snow St.
谢谢,