以下は私のコード..です正規表現で星印 "*"を検出する方法は?
/(?!\*)/.test("test*test")
結果はまだtrueを返します。
文字列に*があればfalseを返す文字列を検証したいと思います。
コードに何か問題がありますか?
以下は私のコード..です正規表現で星印 "*"を検出する方法は?
/(?!\*)/.test("test*test")
結果はまだtrueを返します。
文字列に*があればfalseを返す文字列を検証したいと思います。
コードに何か問題がありますか?
あなたの正規表現は開始位置に一致するため真を返します。あなたはちょうど "*
の後ろにない位置がありますか?"どんな文字列でも一致します。"*"
も一致します。*
の後には、(注釈)*
の後には位置がないためです。
あなたは文字列が*
が含まれていないかどうかをテストしたい場合は、最も簡単な解決策がある:正規表現でそうするようなものになるだろう
"test*test".indexOf("*") < 0 // true if no * in string
:
/^[^*]*$/.test("test*test")
しかし、それはより多くの仕事です。
ありがとうございました。私の頭脳は、正規表現について考えてインデックスを完全に忘れることでした... XD – Dreams
ある時点で私たち全員に起こります。強力なツールですが、手元にあるタスクにとっては強力すぎることもあります。 jQueryのようなもの。 –
*
の存在のためだけのテストおよび出力に
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'結果を否定することができます:'(/ \! * /。test(str)) ' – zhirzh