我使用這個正則表達式來檢查電子郵件。 /^\w+([-+.'']\w+)*@\w*([-.çöişğü]\w*)*\.\w+([-.]\w+)*$/
但是,這個正則表達式不接受像[email protected]
電子郵件。你能幫我改變我的正則表達式來接受像這封電子郵件嗎?電子郵件正則表達式 - 字符
回答
更改第二\w+
到\w*
:
^\w+([-+.'']\w*)*@\w*([-.çöişğü]\w*)*\.\w+([-.]\w+)*$
非常感謝你^ \ w +([ - +。''] \ w *)* @ \ w *([ - 。çöişğü] \ w *)* \。\ w +([ - 。] \ w +)* $它幫助了我。 – 2012-08-02 08:22:44
我更改差異粗體。解決的問題? – Ria 2012-08-02 08:26:08
我用這個在HTML5模式 電子郵件模式:
^(?:[-+~=!#$%&'*/?\^`{|}\w]+)(?:\.[-+~=!#$%&'*/?\^`{|}\w]+)*@(?:[a-zA-Z0-9][-a-zA-Z0-9]*[a-zA-Z0-9]\.)+[a-zA-Z]{2,6}$
/^\w+([-+.'']*\w*)*@\w*([-.çöişğü]\w*)*\.\w+([-.]\w+)*$/
如果用c#
標籤標記你的問題你爲什麼不使用內建的System.Net.Mail.MailAddress
類構造函數進行電子郵件驗證?它支持許多郵件地址格式,並且涵蓋比正則表達式更多的場景。請參閱:
var isEmailValid = false;
try
{
var email = new MailAddress("[email protected]");
isValidEmail = true;
{
catch (FormatException x)
{
// invalid email address
}
難道不比您的正則表達式容易嗎?
這是我特別用於電子郵件驗證的正則表達式,但我不會以這種方式推測,特別是在商業環境中使用時;由於這個事實,當考慮電子郵件驗證正則表達式太嚴格。它們不允許有可能完成的領域的空間,並且包含所有這些可能性會使正則表達式變得漫長,使其不穩定。
string strRegex = @"^(?("")("".+?(?<!\\)""@)|(([0-9a-z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-z])@))" +
@"(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-z][-\w]*[0-9a-z]*\.)+[a-z0-9][\-a-z0-9]{0,22}[a-z0-9]))$";
Regex re = new Regex(strRegex);
if (re.IsMatch(txtEmail.Text) || txtEmail.Text == "" || txtEmail.Text.Length > 100 && txtEmail.Text.Length < 10)
{
MessageBox.Show("Thanks");
}
else
{
MessageBox.Show("Please enter a valid email address");
}
}
這是solotuion我建議這是更加穩定和高效能utiliseszsthe EmailAddressAttribute,因爲它是一個內置的類和允許MROE房間,而不是嚴格的正則表達式。希望這可以幫助。
TextBox tb = new TextBox();
tb.KeyDown += new KeyEventHandler(txtEmail_KeyDown);
// Run Checks after the enter is pressed.
if (e.KeyCode == (Keys.Enter) || e.KeyCode == (Keys.Tab))
{
if (!new EmailAddressAttribute().IsValid(txtEmail.Text))
{
MessageBox.Show(txtEmail.ToString() + " is not a valid Email address");
txtEmail.Clear();
}
else
{
MessageBox.Show("The address: " + txtEmail + " is valid");
txtEmail.Clear();
}
}
- 1. 電子郵件正則表達式Javascript
- 2. 電子郵件正則表達式PHP
- 3. 電子郵件正則表達式
- 4. Javascript電子郵件正則表達式
- 5. 正則表達式CSV電子郵件
- 6. 電子郵件正則表達式
- 7. Java正則表達式電子郵件
- 8. bash正則表達式電子郵件
- 9. jQuery電子郵件正則表達式
- 10. 取消電子郵件字符正則表達式
- 11. 電子郵件正則表達式支持特殊字符?
- 12. 電子郵件正則表達式的單字符域名
- 13. 正則表達式驗證電子郵件:非法字符
- 14. 正則表達式電子郵件與2個字符後,@
- 15. Javascript正則表達式驗證電子郵件與ñ字符
- 16. 正則表達式匹配字符串中的電子郵件
- 17. 電子郵件和'沒有電子郵件'的正則表達式
- 18. 電子郵件正則表達式失敗對某些電子郵件地址
- 19. 一些電子郵件規則的正則表達式
- 20. PHP檢查電子郵件地址格式正則表達式
- 21. 與正則表達式如下規則驗證電子郵件
- 22. 電子郵件正則表達式。這個正則表達式是否合適?
- 23. Splunk的正則表達式電子郵件表達
- 24. MongoDB $正則表達式在電子郵件字段
- 25. JavaScript的正則表達式PHP的正則表達式UTF-8字符的電子郵件驗證
- 26. 「的電子郵件IP」正則表達式到日誌文件
- 27. 用於創建電子郵件的正則表達式
- 28. 電子郵件子域匹配的正則表達式
- 29. 電子郵件正文正則表達式搜索
- 30. 檢查正則表達式或其他方式的電子郵件字符串
爲什麼土耳其字符'çöişğü'的特例?要麼你想支持完整的IDNA,要麼你堅持使用ASCII/punycode。 – tripleee 2012-08-02 07:29:29