【发布时间】:2012-01-16 19:11:05
【问题描述】:
我正在尝试在 asp.net mvc 中创建一个正则表达式验证属性来验证输入的电子邮件是否具有 .edu TLD。
我尝试了以下方法,但表达式永远不会验证为真......
[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+edu
和
\w.\w@{1,1}\w[.\w]?.edu
谁能提供一些见解?
【问题讨论】:
-
我将其分为两个不同的问题:validating an email address 的(众所周知的可怕的)问题,句号,以及验证字符串是否以
.edu结尾的更简单问题... -
@djacobson:这听起来很像一个答案。
-
我喜欢验证条目是和电子邮件并分别以 .edu 结尾的想法。我可以使用 mvc DataAnnotationsExtension 库毫无问题地检查有效的电子邮件。有人可以提供更新正则表达式来检查字符串中的最后 4 个字符是否为“.edu”,或者使用 .net 中的字符串类检查是否更容易/更好?
-
你需要接受国际语言吗?如果是这样,请查看接受的答案,然后 mason 回答:stackoverflow.com/questions/2049502/… 先转换为 punycode。
-
@Adam Tuliper:无论如何,Edu 很难国际化,它是针对北美教育机构的,其他国家/地区有 ac.uk 或根本没有单独的域 - uu.se、helsinki.fi 等。跨度>
标签: c# asp.net asp.net-mvc regex asp.net-mvc-3