簡體   English   中英

javascript電子郵件正則表達式問題

[英]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,

http://jsfiddle.net/rRnwb/1/

如果我把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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM