jQuery - 检查输入字段是否包含其中一个单词

时间:2017-04-13 13:25:54

标签: jquery contains

如果输入字段#plz-input包含两个单词之一:“red”或“green”,我想检查点击。

我尝试了.contains(),但它只适用于第一个单词。

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

1 个答案:

答案 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>