2017-04-13 3 views
0

enthält Ich möchte überprüfen, ob das Eingabefeld #plz-input eines der beiden Wörter "rot" oder "grün" enthält.jQuery - Überprüfen, ob das Eingabefeld eines der Wörter

Ich versuchte .contains(), aber es funktioniert nur mit dem ersten Wort.

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

Antwort

3

Betrachten wir einen regulären Ausdruck

Schnell dies mit einem einfachen regulären Ausdruck über die RegExp.test() Funktion erfüllen können. Trennen Sie einfach Ihre individuellen Bedingungen mit einem Rohr wie unten zu sehen:

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

Dann rufen Sie einfach die test() Funktion, die, wenn eine dieser Begriffe gefunden werden innerhalb der Zeichenfolge angeben, wie weiter unten zu sehen:

// 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!'); 
} 

Beispiel

<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

Dieses Code-Snippet ist falsch. – bPratik

+0

Sind Sie sicher? Es gibt "Falsch!" wenn entweder rot oder grün innerhalb des Elements eingegeben wird, andernfalls "Korrekt!". Ich habe es von "onkeydown" zu "onkeyup" bearbeitet, so dass es möglicherweise das ist, was Sie zuvor bemerkt haben. –

+0

Sie haben Recht. Es hat einen Booboo gemacht, bis ich aufgefrischt habe. Wiederherstellen meiner Upvote :) – bPratik

Verwandte Themen