$('form').find('input[pattern],textarea[pattern]').each(function(){
if(!$(this).val().match($(this).prop('pattern'))){
$(this).addClass('error');
}
});
<textarea name=... required pattern=^.{10,255}$></textarea>
基本上,如果值与模式不匹配,则会添加类(错误)。但是,即使我只输入1-9个字符,该类也不会被添加到textarea中。
答案 0 :(得分:1)
在HTML5中,模式可能被解释为正则表达式,但在这里它只是一个字符串。你需要制作一个正则表达式。
new RegExp($(this).attr('pattern'))
此外,您可能希望在属性周围添加一些引号:
pattern="^.{10,255}"