gpt4 book ai didi

用于验证地址的 JavaScript 正则表达式

转载 作者:行者123 更新时间:2023-11-29 17:20:37 25 4
gpt4 key购买 nike

我想使用正则表达式在 JavaScript 中验证居住地址,但我对正则表达式了解不多,我尝试构建自己的正则表达式 (/^[a-zA-Z\s] (\d)?$/) 但它似乎无法正常工作。

我想要实现的是允许字母、空格和至少一位数字(这是必需的),而且应该有可能插入斜杠 / 但这不是必需的。

有人可以帮我吗?

最佳答案

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

/^[a-zA-Z\s](\d)?$/

这里要注意的是,这个正则表达式最多只能匹配两个字符的字符串!字符类 [ ... ] 匹配一个单个 字符:在您的例子中是字母和空格。您需要将其与所谓的量词结合起来,例如 * 表示“零或多个”,+ 表示“一个或多个”,? 表示“零或一个”。您在其他地方使用了量词,(\d)?,在这里您说的是“零或一个”数字字符。但你真正想要的看起来更像这样:

/^[a-zA-Z\s\d\/]+$/

在这里,我们说的是“一个或多个”字母、空格、数字或斜杠(请注意,正斜杠必须使用反斜杠进行转义)。

最后,您说想要要求“至少一个”数字。这可以通过正则表达式中更高级的构造来实现,称为“环视断言”。你想要这个:

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

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

/^[a-zA-Z\s\d\/]*\d[a-zA-Z\s\d\/]*$/

这显然更复杂,但是当您能够理解这一点时,您就知道您已经走上了理解正则表达式的道路。祝你好运!

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com