我有下面的代碼來驗證電子郵件地址爲什麼我的正則表達式無法匹配電子郵件?
var reg = new Regex(@"/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/");
string e1 = "[email protected]";
string e2 = "namehost.net";
bool b1 = reg.IsMatch(e1);
bool b2 = reg.IsMatch(e2);
但兩者B1和B2失敗
我有下面的代碼來驗證電子郵件地址爲什麼我的正則表達式無法匹配電子郵件?
var reg = new Regex(@"/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/");
string e1 = "[email protected]";
string e2 = "namehost.net";
bool b1 = reg.IsMatch(e1);
bool b2 = reg.IsMatch(e2);
但兩者B1和B2失敗
在開頭和結尾刪除斜線。
var reg = new Regex(@"^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$");
但是,這就是說,你的正則表達式不是匹配電子郵件地址的好模式。事實上,一個準確的模式真的很難做到。谷歌一些,你應該找到更好的。
你很近,但實際的正則表達式是:http://ex-parrot.com/~pdw/Mail-RFC822-Address.html – aquinas 2013-02-09 19:45:24
其實,實際的正則表達式在這裏:http://stackoverflow.com/問題/ 201323 /使用-A-正則表達式到驗證-的電子郵件地址/ 1771483#1771483。 RFC822在12年前已經過時了。 – MichaelRushton 2013-02-09 20:10:12