Javascript “如何检测星号”*&引用;用正则表达式?
下面是我的代码Javascript “如何检测星号”*&引用;用正则表达式?,javascript,regex,Javascript,Regex,下面是我的代码 /(?!\*)/.test("test*test") 结果仍然返回true 我想验证字符串,如果字符串中有*将返回false 代码有问题吗?您的正则表达式返回true,因为它与起始位置匹配。您刚才的测试说“是否有一个位置后面没有一个*?”这是任何字符串都会匹配的-甚至“*”也会匹配,因为在*之后有一个位置后面没有一个(另一个)* 如果要测试字符串是否不包含*,最简单的解决方案是: "test*test".indexOf("*") < 0 // true if no * i
/(?!\*)/.test("test*test")
结果仍然返回true
我想验证字符串,如果字符串中有*将返回false
代码有问题吗?您的正则表达式返回true,因为它与起始位置匹配。您刚才的测试说“是否有一个位置后面没有一个
*
?”这是任何字符串都会匹配的-甚至“*”
也会匹配,因为在*
之后有一个位置后面没有一个(另一个)*
如果要测试字符串是否不包含*
,最简单的解决方案是:
"test*test".indexOf("*") < 0 // true if no * in string
但这需要更多的工作。您的正则表达式返回true,因为它匹配起始位置。您刚才的测试说“是否有一个位置后面没有一个
*
?”这是任何字符串都会匹配的-甚至“*”
也会匹配,因为在*
之后有一个位置后面没有一个(另一个)*
如果要测试字符串是否不包含*
,最简单的解决方案是:
"test*test".indexOf("*") < 0 // true if no * in string
但这需要更多的工作。只需测试是否存在
*
,并否定输出
var string="123*456";
console.log( !(/\*/.test(string)) );
false
var string="12*34*56";
console.log( !(/\*/.test(string)) );
false
var string="123456";
console.log( !(/\*/.test(string)) );
true
只需测试是否存在
*
,并否定输出
var string="123*456";
console.log( !(/\*/.test(string)) );
false
var string="12*34*56";
console.log( !(/\*/.test(string)) );
false
var string="123456";
console.log( !(/\*/.test(string)) );
true
您只需使用
/\*/
即可否定测试结果。您可以否定输出:!(/\*/.test(str))
您可以用/\*/
否定测试结果,您可以否定输出:!(/\*/.test(str))
非常感谢。我所有的大脑都在想着regex,完全忘记了indexOf…XD它在某个时候发生在我们所有人身上,我确信:D regex是一个强大的工具,但有时它对于手头的任务来说太强大了。有点像jQuery。非常感谢。我所有的大脑都在思考正则表达式,完全忘记了indexOf…XDIt在某些时候发生在我们所有人身上,我确信:D正则表达式是一个强大的工具,但有时它对于手头的任务来说太强大了。有点像jQuery。