[英]javascript email regexp issue
我想在電子郵件中包含_
。
但是正則表達式我剛剛過濾了這個。
html,
<input id="external_email_input" maxlength="85" type="text">
<button id='email'>Send</button>
js,
$("#email").click(function(){
var email = $("#external_email_input").val();
if(!validateEmail(email)){
alert("wrong format!!");
}else{
alert("correct!!");
}
});
function validateEmail(email) {
var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
jsfiddle,
如果我把test@test_test.com
它返回假
我如何在這里允許_
作為條件?
使用<input type="email" />
。 刪除所有JavaScript。 問題解決了。
傑里在評論中建議修改驗證以包括下划線(_),即可解決此問題。
驗證功能:
function validateEmail(email) {
var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"_]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9_]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
更新小提琴: http : //jsfiddle.net/rRnwb/2/
您的代碼是:
@
符號后沒有_
來滿足您的輸入郵件ID。
因此,您可以使用:
(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|((\w+\.)+[a-zA-Z]{2,}))
說明:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.