ajax进行表单验证,不能为空并且只能为英文或者数字或者下划线组成的2...
发布网友
发布时间:2022-04-26 22:20
我来回答
共2个回答
热心网友
时间:2022-04-23 01:25
您好:错误在于你的三目运算符判断上。
$('#pas2').blur(function(){
$('#pas2T').html(!$(this).attr("value") ||$(this).attr('value') !=
$("#pas1").attr('value') ? "<strong style='color:#f00;'>×确认密码不正确</strong>" :
"<strong style='color:#62842b;'>×输入正确</strong>");
});
当你密码没有输入或者输入不一样的时候attr是用来获得属性值。text文本框默认是没有value属性的。除非你给他加上value属性。但是可以通过$().val();来获得文本框的值。不知道你用户名怎么可以实现的。
建议最好的办法:将验证通过和不通过文本框的样式分别写到css中。如:
.tongguo{color:red;}
.butongguo{color:blue;}
然后判断的时候也别用三目运算符了。直接得到值if判断就可以。然后根据判断的值用jQurey方法中的addclass(),方法或者removeclass()方法动态加样式就行。追问我就是搞不明白$().val()和attr()有什么区别的,但是确实attr()是可以取到的,!$(this).attr("value").match(/([w]){2,15}$/)貌似不对,取到的值都是null,我改成(/([a-zA-Z0-9]){6,15}$/).test($(this).attr("value"))==false好像可以,但是不知道这个正则表达式的长度怎么控制不了……
追答attr()这个方法本来就是用来得到标签的属性值。val()只是用来的到value值。
热心网友
时间:2022-04-23 02:43
有点难度追问?后面的正则表达式不知道有没有错……
追答正则必然是错的