如果输入字段#plz-input
包含两个单词之一:“red”或“green”,我想检查点击。
我尝试了.contains()
,但它只适用于第一个单词。
$('#submit').click(function() {
if( $("#plz-input").contains('red green')) {
alert("Wrong Value ...");
} else {
alert("Right Value!");
}
return false;
});
答案 0 :(得分: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>