jQuery - 检查输入字段是否包含单词之一

jQuery - Check if input field contains one of the words

我想在点击时检查输入字段 #plz-input 是否包含以下两个词之一:"red" 或 "green"。

我试过 .contains() 但它只对第一个词有效。

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

考虑正则表达式

您可以通过 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>