gpt4 book ai didi

javascript - javascript中用于带逗号输入的正则表达式正则表达式模式

转载 作者:行者123 更新时间:2023-11-29 19:45:37 24 4
gpt4 key购买 nike

我有一个输入模式,输入模式如下:

var location = /^[a-z]+\s*[a-z]*,\s*[a-z]+\s*([^,]?[a-z]+)*$/i;

我的输入是以下允许的类型:

  • 加利福尼亚州洛杉矶
  • 加利福尼亚州洛杉矶(字符串文本之间有空格)
  • 美国加利福尼亚州洛杉矶
  • Los Angeles, CA,USA(字符串文本之间有空格)
  • 美国加利福尼亚州洛杉矶(字符串文本之间有空格,可能在结束文本之后)

以下输入类型(有 extra 的,未通过测试:

  • 美国加利福尼亚州洛杉矶
  • Los Angeles, CA,USA(字符串文本之间有空格)
  • 美国加利福尼亚州洛杉矶(字符串文本之间有空格,可能在结束文本之后)

谁能告诉我我做错了什么?任何帮助,将不胜感激!谢谢!

是的,我是正则表达式和 js 的新手。

用于测试的完整代码:

if (str.match(locationstring)){             
console.log("Match pattern str!");
type = 2;
}else{
alert("No match str!");
return;
}

最佳答案

var location = /^[a-z]+\s*[a-z]*,\s*[a-z]+\s*([^,]?[a-z]+)*$/i;
^^^^

在这里,您明确禁止任何逗号(带有 negated character class )。每个包含多个逗号的字符串均不符合该规则。

看起来你真的想在那个地方允许一个逗号后跟可选的空格:

var location = /^[a-z]+\s*[a-z]*,\s*[a-z]+(,\s*[a-z]+)*$/i;

关于javascript - javascript中用于带逗号输入的正则表达式正则表达式模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19964435/

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