2017-04-13 97 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

你确定吗?它返回'错误!'如果在元素中输入红色或绿色,则为“正确!”。我使用'onkeydown'编辑它到'onkeyup',这可能是你之前注意到的。 –

+0

你说得对。它做了一个booboo,直到我刷新。恢复我的upvote :) – bPratik

相关问题