【发布时间】:2015-09-20 21:05:58
【问题描述】:
我从MSDN 得到了这个电子邮件 ID 的正则表达式检查。但是当 _ 和 @ 一个接一个出现时它会失败。
表达式:
@"^(?("")("".+?(?<!\\)""@)|(([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]))$",
例如:check_@hotmail.com 失败,即使它是一个有效的 ID。
字符串哪里需要改,看起来很乱,看不懂。
【问题讨论】:
-
由于有一个正式的电子邮件地址规范,有没有人知道一个正式批准的正则表达式正是这个规范?
标签: c# regex windows-phone-8 windows-phone-8.1 email-validation