1

在文本框中输入除小写字母以外的任何字符时尝试更改类。但是,我确信有一些愚蠢的小东西导致了这种情况,它没有显示“哟!”的 console.log。这是javascript:

$(function(){
    $("input[name='name']").keyup(function(){
        var str = $(this).val();
        var badChars = new RegExp("[^a-z]");
        if (str.indexOf(badChars)!=-1){
            console.log("yo!");
            $(this).removeClass("good");
            $(this).addClass("error");
        }
    });
});

我在搞砸什么?

4

1 回答 1

2
$(function() {
    // Don't need to create new RegExp object on each keyup event.
    // Just create it once:
    var badChars = new RegExp("[^a-z]");

    $("input[name='name']").keyup(function() {
        // Use RegExp.test() method to check 
        // is string matches the regular expression.
        if (badChars.test(this.value)) {
            console.log("yo!");
            $(this).removeClass("good")
                   .addClass("error");
        }
    });
});

RegExp.test()方法

于 2012-10-03T22:58:52.933 回答