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。