2011-08-15 43 views
2

我明白驗證電子郵件的問題,但我不知道這是否會阻止任何有合法電子郵件的人。電子郵件正則表達式驗證javascript

我正在尋找一個有效的電子郵件列表來測試它自己,但沒有找到任何。

任何人都有一個有效的電子郵件,但這個正則表達式認爲它不是?

emailRegex.test('[email protected]') 

很長的行:

emailRegex = /^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.(([a-z]{2}|AERO|ARPA|ASIA|BIZ|CAT|COM|COOP|EDU|GOV|INFO|INT|JOBS|MIL|MOBI|MUSEUM|NAME|NET|ORG|PRO|TEL|TRAVEL|XN--0ZWM56D|XN--11B5BS3A9AJ6G|XN--3E0B707E|XN--45BRJ9C|XN--80AKHBYKNJ4F|XN--90A3AC|XN--9T4B11YI5A|XN--CLCHC0EA0B2G2A9GCD|XN--DEBA0AD|XN--FIQS8S|XN--FIQZ9S|XN--FPCRJ9C3D|XN--FZC2C9E2C|XN--G6W251D|XN--GECRJ9C|XN--H2BRJ9C|XN--HGBK6AJ7F53BBA|XN--HLCJ6AYA9ESC7A|XN--J6W193G|XN--JXALPDLP|XN--KGBECHTV|XN--KPRW13D|XN--KPRY57D|XN--LGBBAT1AD8J|XN--MGBAAM7A8H|XN--MGBAYH7GPA|XN--MGBBH1A71E|XN--MGBC0A9AZCG|XN--MGBERP4A5D4AR|XN--O3CW4H|XN--OGBPF8FL|XN--P1AI|XN--PGBS0DH|XN--S9BRJ9C|XN--WGBH1C|XN--WGBL6A|XN--XKC2AL3HYE2A|XN--XKC2DL3A5EE0H|XN--YFRO4I67O|XN--YGBI2AMMX|XN--ZCKZAH|XXX)(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)|(^$)/i; 
+0

您應該檢查此主題http://stackoverflow.com/questions/201323/what-is-the-best-regular-expression-for-validating-email-addresses –

+0

P租賃修復您的標題,以便描述問題,而不僅僅是列出主題。 –

回答

5

Dominic Sayers創造的電子郵件邊緣的情況下,你可以用它來驗證您的測試清單。你可以找到它here

您的正則表達式不接受有效地址[email protected][IPv6:::]"test\ test"@iana.org"[email protected]"

+0

+ 1爲IPv6參考 - 你必須是一個非網絡工程師實際上已經考慮過這個:) – Brian

0

這裏是HTML輸入字段和按鈕字段代碼

<input input type="text" name="txtEmailId" id="txtEmailId" /> 
    <input type="submit" class="button" value="Suscribe" name="Suscribe" 
      onclick="javascript:ShowAlert()" /> 

現在添加以下功能到你的頁面的頁眉

<script type="text/javascript"> 
function ShowAlert() { 
    var email = document.getElementById('txtEmailId'); 
    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; 
    if (!filter.test(email.value)) { 
     alert('Please provide a valid email address'); 
     email.focus; 
     return false; 
    } 
    else { 
     alert("Thanks for your intrest in us, Now you 
     will be able to receive monthly updates from us."); 
     document.getElementById('txtEmailId').value = ""; 
    } 
} 
</script> 

在這裏,你可以找到關於此電子郵件驗證文章在JavaScript中

+0

這將失敗,有效的電子郵件像'讓 - 弗朗索瓦@ anydomain.museum' – Toto

+1

你可以把你的電子郵件驗證正則表達式根據您的需求....這只是一個例子,驗證一個簡單的電子郵件,如「[email protected]」 –

相關問題