JavaScript Regex验证地址



我想使用REGEX在JavaScript中验证住所地址,但是我对Regex的了解不多,我尝试的是构建自己的正则正格(/^[a-zA-Zs](d)?$/),但它不确定'T似乎正常工作。

我要实现的是允许字母,空间和至少一个数字(那是必需的),并且还应该有可能插入斜线/,但不需要。

任何人都可以帮我吗?

我会让您入门,但是随着您习惯于正则表达式,您会发现自己变得更加具体。首先,让我们检查一下您的正则:

/^[a-zA-Zs](d)?$/

这里要注意的要注意的是,此正则最多只能匹配两个字符的字符串!字符类[ ... ]匹配A 单个字符:在您的情况下,字母和空格。您需要将其与所谓的量词,例如 *表示"零或更多", +含义为"一个或多个",而 ?表示"零或一个"。。您已经在其他地方使用了一个量词(d)?,您在说"零或一个"数字字符。但是您真正想要的看起来更像是这样:

/^[a-zA-Zsd/]+$/

在这里,我们说的是"一个或多个"字母,空格,数字或斜线(请注意,必须使用后斜线逃脱前向斜线)。

最后,您说要需要"至少一个"数字。这可以通过更高级的构造中的正则表达式(称为" Lookaround断言"来实现。您想要这个:

/^(?=.*d)[a-zA-Zsd/]+$/

尤其是积极的lookahead断言,您可以自己研究。没有lookahead断言的另一种方法是:

/^[a-zA-Zsd/]*d[a-zA-Zsd/]*$/

这显然更为复杂,但是当您能够理解这一点时,您就会知道自己在理解正则表达式的路上。祝你好运!

最新更新