gpt4 book ai didi

javascript - 在 JavaScript 中使用正则表达式精确匹配字符串

转载 作者:行者123 更新时间:2023-11-28 20:01:24 24 4
gpt4 key购买 nike

我想验证 JavaScript 中的字符串是否允许包含字母数字、 "(", ")"和空格。所以测试字符串是:

s1 = "This $h00l*&^ not w0rk342*_(&, <and> always fail" 
s2 = "This should work (ABC1234)"

我的代码:

var regX = new RegExp(/A-Za-z0-9\\(\\)\\x20+/);
if(!regX.test(s1)){
alert("InValid value.");
}

但是两个字符串都失败了。

此外,test() 函数评估字符串中的匹配项,而不是整个字符串 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test

有人可以帮忙吗?提前致谢

最佳答案

您应该使用此正则表达式:

/^[A-Za-z0-9() ]*$/

如果您不想允许空字符串,请将 * 替换为 +

^$ 分别测试字符串的开头和结尾。

* 表示重复 0 次或多次。 + 表示重复一次或多次。

要指定字符类(即一组字符),您需要将字符放在[]内。

<小时/>

进一步缩短正则表达式:

/^[a-z\d() ]*$/i

i 标志将使正则表达式不区分大小写地匹配,从而无需指定 A-Z

\d 是数字 0-9 的简写字符类。速记字符类也可以包含在字符类中。

关于javascript - 在 JavaScript 中使用正则表达式精确匹配字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21609246/

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