2011-06-07 159 views
0

可能重複:
What is the best regular expression for validating email addresses?正則表達式驗證電子郵件地址

我使用下面的正則表達式驗證電子郵件地址:

^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$ 

它不認爲以下電子郵件地址有效:[email protected],但根據我們的客戶,這是一個有效的電子郵件湖

如何修改以下正則表達式語句以接受[email protected]作爲有效的電子郵件地址?

+1

您發佈的正則表達式模式是專門設計的以避免一些有效的電子郵件地址爲代價來捕獲常見錯誤。它肯定也允許一些無效的電子郵件地址。 – ikegami 2011-06-07 17:45:46

+0

關於使用正則表達式來解決這個問題的評論,儘管這個特定的章節@ [a-zA-Z0-9] [\ w \ .-] * [a-zA-Z0-9] \。是什麼在這種情況下不匹配,因爲它正在尋找「@」和「。」之間至少2個字符。在[regular-expressions.info](http://www.regular-expressions.info/quickstart.html)以及http://stackoverflow.com/questions/463796中列出的許多沙箱工具中有一個很好的簡短參考。 /是 - 有 - 一個好的瀏覽器爲基礎的沙箱到實踐的正則表達式 – cordsen 2011-06-07 18:27:37

回答

1

爲什麼你需要一個正則表達式來檢查電子郵件的有效性?如果我填寫[email protected],正則表達式也會說它是有效的。

在我看來,正則表達式需要大量的運行時才能評估,而且大多數不會讓你完成目標。想想爲什麼你真的需要它,也許去一個簡單的,只是檢查它的形式#@#.##(#=一些文本) 請參閱:http://www.linuxjournal.com/article/9585

相關問題