gpt4 book ai didi

javascript - 检测 PObox(表单验证)

转载 作者:行者123 更新时间:2023-12-02 18:35:26 24 4
gpt4 key购买 nike

我有一个来自另一个线程的函数可以帮助检测 POBox,但它并不能完全按预期工作。

function isPOBox(v){
var r = new RegExp('[PDO.]*\\s?B(ox)?.*\\d+', 'i');
return v.match(r);
}

如果我的值是 'Lvl 1 TowerB, 999 C G Road'它错误地将其识别为邮政信箱。
如您所见,没有 P在上面。

我将如何编辑正则表达式以更具体地围绕 POBoxes?

我在这里设置了一个演示 fiddle :http://jsfiddle.net/xCQwM/

最佳答案

如果你看一下实际的比赛:

> "Lvl 1 TowerB, 999 C G Road".match(new RegExp('[PDO.]*\\s?B(ox)?.*\\d+',"i"))
[ 'B, 999',
undefined,
index: 11,
input: 'Lvl 1 TowerB, 999 C G Road' ]

这是一场比赛,因为:

  • [PDO.]\*表示匹配的第一部分是可选的
  • \\s? 是可选的
  • (ox)? 是可选的
  • .* 是可选的

与您的正则表达式匹配的一组字符串是:

"B" followed by any number of characters followed by a digit

在您的示例中,匹配看起来像

"B" matches "B"
"," matches ".*"
"999" matches "\\d+"

您需要提供有关您对邮政信箱的期望的更多详细信息。盒子看起来像这样,以便我们提供更好的正则表达式

关于javascript - 检测 PObox(表单验证),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17366320/

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