[英]Email Validation in jQuery using RegExp
我必須驗證一個電子郵件字段,該字段可以包含由(;)分隔的多個電子郵件地址。 以下是我使用的代碼
$("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
)
您可以使用以下正則表達式獲取由分號分隔的所有電子郵件地址:
/(?:((?:[\w-]+(?:\.[\w-]+)*)@(?:(?:[\w-]+\.)*\w[\w-]{0,66})\.(?:[a-z]{2,6}(?:\.[a-z]{2})?));*)/g
您可以通過以下代碼執行此操作。
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,',');"
試試這個
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);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.