値を確認する条件が2つある場合、2つの条件は同じです。Javascript:正規表現で条件がうまくいかない場合は多く
条件を2回使用する必要があります。
ここで以下のコード:
regexp = new RegExp("[458]", "gi");
valuesArray = [5, 8];
for(var i = 0; i < valuesArray.length; i++)
{
if(regexp.test(valuesArray[i]) == true)
{
console.log("true : "+valuesArray[i]);
}
if(regexp.test(valuesArray[i]) == false)
{
console.log("false : "+valuesArray[i]);
}
}
JavaScriptコンソール出力がある:
true : 5
false : 5
true : 8
false : 8
が、5と8が[458]正規表現であるため、これは非常に正規表現テストが返さなければならない、(あるべきですtrue):
true : 5
true : 8
なぜそれが機能しないのですか?アイデアはありますか?
ありがとうございます。
ので
regexp = new RegExp("[458]", "i");
代わりのregexp = new RegExp("[458]", "gi");
てみてください;' – gurvinder372
また、反対の論理を持つ同じ条件の代わりに 'else'を使います。特に条件内の関数が(この場合のように)副作用を持っている場合 –
そして条件に '== true'は必要ありません。 (regexp.test(...)){/ * ... * /} else {/ * ...} ' –