我在正則表達式中很糟糕,需要對字段進行客戶端驗證。這些電子郵件規則的Javascript RegEx
什麼是正則表達式來測試基於這些規則的一個有效的電子郵件地址:
E-mail地址必須具有以下特性:
- @符號。
- 至少有一個期間(連續兩次)。
- @和第一個句點之間至少有一個字符。
- 最後一段時間後至少有一個字符。
在此先感謝。
-Seth
我在正則表達式中很糟糕,需要對字段進行客戶端驗證。這些電子郵件規則的Javascript RegEx
什麼是正則表達式來測試基於這些規則的一個有效的電子郵件地址:
E-mail地址必須具有以下特性:
在此先感謝。
-Seth
如果你想使用正則表達式這一點,至少這樣做是正確:
(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])
此正則表達式是從this article,你應該在整體絕對讀取。
function validateEmail(elementValue){
var emailPattern = /^[a-zA-Z0-9._-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{1,4}$/;
return emailPattern.test(elementValue);
}
取自article。如你所知,它只在@之後接受一個點。
@edit:根據another article,更標準的符合變種是:
[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])
它的權衡是在文章中explanined了。值得一讀!
http://www.google.com/search?q=email+regex – tdammers 2011-01-14 08:27:23
不會搜索「regexp email」幫助 - > http://www.regular-expressions.info/email.html? – Maxym 2011-01-14 08:27:38