我必须验证一个电子邮件字段,该字段可以包含由(;)分隔的多个电子邮件地址。以下是我使用的代码
$("body").find(".reqEmail").filter(function(){
var regex = new RegExp(/^[_A-Za-z0-9-]+[^(),:;<>\\[\\]@]*@[^(),:;<>\\[\\]@]*(\\.[A-Za-z]{2,})+$/);///^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
var email=$(this).val()
if(regex.test(email)==false){
e.preventDefault();
$(this).css("border","solid 1px red");
$(this).parent().find("#ReceAppEmail").html("Invalid Email!!");
}
else{return true;}
});
它总是给出错误消息,即使我插入1个电子邮件地址。我找不到我错的地方。有什么建议吗?
仅供参考:这包含在表单提交(onsubmit
)
答案 0 :(得分:2)
答案 1 :(得分:1)
您可以通过以下代码执行此操作。
function validatecommSeptEmail(commSeptEmail)
{
var regex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,5}$/;
return (regex.test(commSeptEmail)) ? true : false;
}
function validateMultiplecommSeptEmails(emailcntl, seperator)
{
var value = emailcntl.value;
if (value != '') {
var result = value.split(seperator);
for (var i = 0; i < result.length; i++) {
if (result[i] != '') {
if (!validatecommSeptEmail(result[i])) {
emailcntl.focus();
alert('Please check, `' + result[i] + '` email addresses not valid!');
return false;
}
}
}
}
return true;
}
如何使用?
onblur="validateMultiplecommSeptEmails(this,',');"
答案 2 :(得分:0)
试试这个
function validateEmail(email) {
var regixExp = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
$(".reqEmail").css("border","solid 1px red");
$("#ReceAppEmail").html("Invalid Email!!");
return regixExp.test(email);
}