gpt4 book ai didi

Javascript 正则表达式第一次工作正常但第二次不行,第三次再次工作而不是第四次等等

转载 作者:可可西里 更新时间:2023-11-01 02:18:13 26 4
gpt4 key购买 nike

Javascript 正则表达式第一次工作正常但第二次不行,第 3 次再次工作而不是第 4 次等等 :(

脚本:

<script language="javascript" type="text/javascript">
var reg = /[^\w]/gi;
function checkNonWordChars() {
var str = $("#TestTextbox").val();
if (reg.test(str)) {
alert('!!! Non-Word Char Exists !!!');
}
else {
alert('input accepted');
}
}
</script>

HTML:

<input type="text" id="TestTextbox"  />
<input type="button" value="Test" onclick="checkNonWordChars();" />

如果我点击按钮一次,它会触发一个警告说“!!!存在非字字符!!!”但是如果我再次点击它,它会触发一个警告说“输入已接受”:(

最佳答案

我怀疑这与使用 g 修饰符 makes the engine remember its state 有关.

尝试删除 g 修饰符,反正你不需要它。引擎将始终尝试在整个字符串中找到匹配项。因此,g 修饰符实际上并没有与 test 函数结合使用,而是用于 match。顺便说一句,您也不需要 i 修饰符,因为 \w 包括小写和大写字母。

还有最后一件事。正则表达式提供了方便的 \W,它与 \w 相反,因此等同于 [^\w]

关于Javascript 正则表达式第一次工作正常但第二次不行,第三次再次工作而不是第四次等等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13233654/

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