我们正在使用regex
来验证电子邮件。但似乎 abcd@q.com 此电子邮件ID失败了。
任何人都可以告诉给定的正则表达式有什么问题吗?
正则表达式:
string sPattern = "^\\w+[\\w\\-\\.]*\\w+\\@\\w+([\\w\\-]*\\w+\\.\\w+){1,4}$";
编辑:我可以在给定的正则表达式中修改哪些内容,以便在@
之后接受单字符和多字符域。
例如: abcd@q.com 或 abcd@example.com
答案 0 :(得分:1)
bounds
在这部分中,您需要在\w+([\\w\\-]*\\w+
和@
.
w+
=> -
* [\\w\\-]
因为你只有一个char w+
,所以检查失败了。
您应该搜索现有的电子邮件验证模式,它相当复杂!
答案 1 :(得分:0)
bool isEmail = Regex.IsMatch(emailString, @"\A(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)\Z", RegexOptions.IgnoreCase);
答案 2 :(得分:0)
您应该查找现有的正则表达式以进行电子邮件验证。但我从你的正则表达式中可以看出,你有许多不必要的“\ w”。删除它们:
^[\w\-\.]+\@([\w\-]+\.\w+){1,4}$
将有一个正常运行的正则表达式。虽然不是一个非常准确的电子邮件验证