具有多种条件的JQuery选择器电子邮件验证 嗨,我必须验证电子邮件地址。 我的以下代码工作正常:
contact_email = $('#contact_email').val();
var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
//if Email address is empty it allowed but if it have any value then check whether proper email address or not
if(contact_email && !reg.test(contact_email)) {
err += 1;
$('#contact_email').addClass('boxerror');
}
它可以工作,但是代码不起作用
contact_email = $('#contact_email').val().is(reg.test(this.val())).addClass('boxerror');
1.我做错了什么?
2.带有多个条件的选择器的JQuery是可能的
答案 0 :(得分:0)
您误解了.is(...)
的工作原理。您必须在is()
函数中传递jquery选择器,或者您还可以传递一个函数,该函数将由jquery为所有函数调用。它将返回一个布尔值。
要完成任务,您需要使用filter(...)
。
以下是帮助您的代码:
$("#contact_email").filter(function(index, element) {
return !reg.test(element.value);
}).addClass("boxerror");
filter()
的完整文档为here
因此:
is()
。