我需要以最多3行的方式验证textarea,每行最多可包含20个字符。
我已经包含了jQuery库。
答案 0 :(得分:1)
检查一下:
<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"});
});
});