javascript街道地址正则表达式验证

javascript街道地址正则表达式验证,javascript,regex,validation,Javascript,Regex,Validation,请帮助我创建街道地址的正则表达式。 条件类似于 1.只允许数字、(/-)和[ABCDFGHJKLMNPRSTV]。 2.斜杠后最多允许两个连续字符(字母)。 3.应仅以数字开头(最多4个数字),如果输入,则rest是可选的:应遵循上述标准。 4.可能的组合如下所示 12、1567、19/A、123/B、12-45、124-138、12-14/A、14/A-16、12/A-16/B、165/2123/1, 12-14/2、14/2-16、12/2-16/B、11/A-12/1、12/1-14/2、

请帮助我创建街道地址的正则表达式。
条件类似于
1.只允许数字、(/-)和[ABCDFGHJKLMNPRSTV]。
2.斜杠后最多允许两个连续字符(字母)。
3.应仅以数字开头(最多4个数字),如果输入,则rest是可选的:应遵循上述标准。
4.可能的组合如下所示
12、1567、19/A、123/B、12-45、124-138、12-14/A、14/A-16、12/A-16/B、165/2123/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位数**(例如:1234是正确的,现在它允许12345…到13个字符)**
如果前面有“/”,则只允许使用两个字符(现在是12ABCDABCD..allowing,这是不对的)

请帮我创建一个合适的正则表达式,提前谢谢。

希望这会有所帮助

\d{1,5}\s\w.\s(\b\w*\b\s){1,2}\w*\.
此正则表达式将验证地址,如

999 S. ABCD St.
eg: 123 N. Snow St.
谢谢,

试试这个:
^[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次或多次(每次一个)

当你说
[A,B,C..]
时,它也包括
。您只需编写
[ABCDFGHJKLMNPRSTV]
。我希望这不重要,因为regex对于真实街道地址验证是一个糟糕的工具。这篇文章解释说:正则表达式应该只允许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这些组合。请提供准确的匹配,谢谢你的帮助