在Javascript中验证Textarea

时间:2015-04-10 02:43:43

标签: javascript jquery html

我需要以最多3行的方式验证textarea,每行最多可包含20个字符。

我已经包含了jQuery库。

2 个答案:

答案 0 :(得分:1)

检查一下:

http://jsfiddle.net/yjos6q4n/

<textarea id="ta" rows="10" cols="50"></textarea>

$(function(){
    var ta = $('#ta');
    ta.keyup(function(){
        var flag = !0;
        var arr = this.value.split(/\n/);
        if(3 < arr.length){
            flag = !1;
        } else {
            $.map(arr, function(val, idx){
                if(20 < val.length){
                    flag = !1;
                    return false;
                }
            });
        }
        if(!flag){ // invalid
            ta.css('backgroundColor', '#fcc');
        } else {
            ta.css('backgroundColor', '#fff');
        }
    });
});

答案 1 :(得分:1)

最多3行。每行最多20个字符

var t=document.getElementById('textAreaId').value;
if(/^(?:[^\n]{0,20}\n?){0,3}$/g.test(t) !== true){
alert('input is invalid');
}

或使用jQuery:

$(function () {

    $('textarea').on("input", function () {
        var valid = /^(?:[^\n]{0,20}\n?){0,3}$/g.test( this.value );
        $(this).css({background: valid ? "white" : "red"});
    });

});