请帮助我为街道地址创建正则表达式。
条件就像
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}?[ABCDFGHJKLMNPRSTRST] {0,2}?[/-]?\ d {0,3}?
   [ABCDFGHJKLMNPRSTVV] {0,2}?[/-]?\ d {0,3}?[ABCDFGHJKLMNPRSTV] {0,2}?)$“

该代码适用于上述组合,但仍然允许其他组合,
字符后不应加“-(-C是错误的)”,仅应后跟**'/'**
我不想输入超过4位的数字,如果它是一个字符串**(例如:1234是正确的,现在允许12345 .... to 13个字符)**
并且如果以'/'开头则只能使用两个字符(现在12ABCDABCD ..允许不正确)。

在此先感谢您帮助我创建正确的正则表达式。

最佳答案

尝试这个:
^[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}):接受/,后接[]中的1个或2个字符
(([\-\/][0-9]{1,4})|(\/[ABCDFGHJKLMNPRSTV]{1,2}))*:接受最后2个模式0次或更多次(每次一次)

关于javascript - javascript街道地址正则表达式验证,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48848286/

10-11 19:32