2017-04-13 9 views
0

入力フィールド#plz-inputに「赤」または「緑」のいずれかが含まれているかどうかをチェックしたいと思います。jQuery - 入力フィールドに単語のいずれかが含まれているかどうか確認してください

私は.contains()を試しましたが、最初の単語でのみ動作します。

$('#submit').click(function() { 
    if($("#plz-input").contains('red green')) { 
     alert("Wrong Value ..."); 
    } else { 
     alert("Right Value!"); 
    } 
    return false; 
}); 

答えて

3

は、あなたが簡単にRegExp.test()機能を経由して簡単な正規表現でこれを達成することができ

正規表現を考えてみましょう。

var colors = new RegExp('red|green|purple|...'); 

下図のようにそれからちょうどこれらの用語のいずれかがあなたの文字列の中で発見された場合を示しますtest()機能を呼び出します:

// Define an expression of words to check for 
var colors = new RegExp('red|green'); 
// Check if any of the words is contained within your element 
if(colors.test($('#plz-input').val()){ 
    alert('Wrong Value ...'); 
} else { 
    alert('Right Value!'); 
} 
の下に見られるようにするだけのパイプを使用して、あなたの個々の用語を分離

<input id='colors' onkeyup='checkForColors(this);' /> <span id='result'></span> 
 
<script> 
 
    var result = document.querySelector('#result'); 
 
    function checkForColors(element){ 
 
     var colors = new RegExp('red|green'); 
 
     result.innerText = colors.test(element.value) ? 'Incorrect!' : 'Correct!'; 
 
    } 
 
</script>

+0

そのコードスニペットが間違っています。 – bPratik

+0

本当ですか?それは 'Incorrect!'を返すエレメント内に赤または緑のいずれかが入力されている場合は、それ以外の場合は「訂正」を選択します。 'onkeydown'から' onkeyup'を使って編集しましたので、以前気付いたことがあったかもしれません。 –

+0

あなたはそうです。私がリフレッシュするまで、それはおっぱいでした。私のupvoteを復元:) – bPratik

関連する問題