正则表达式来验证以.edu结尾的电子邮件

我正在尝试在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

谁能提供一些见解?


这应该适合你:

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.+-]+.edu$

自从你在RegEx表现出你很弱,

^字符串的开始

[a-zA-Z0-9._%+-]+一个或多个字母,数字,点,下划线,百分号,加号或破折号

@ @

[a-zA-Z0-9.+-]+一个或多个字母,数字,圆点,加号或短划线

.edu .edu

$字符串结尾


如果您使用的是asp.net mvc验证属性,则您的正则表达式实际上必须使用javascript regex语法进行编码,而不是c#regex语法。 一些符号是相同的,但你必须对此感到厌倦。

你希望你的属性看起来像下面这样:

 [RegularExpression(@"([0-9]|[a-z]|[A-Z])+@([0-9]|[a-z]|[A-Z])+.edu$", ErrorMessage = "text to display to user")]

你在字符串前加入@是为了生成一个字符串,因为我相信c#会在它传递给正则表达式之前应用自己的转义序列

(a | b | c)匹配'a'或'b'或'c'。 [az]匹配a和z之间的所有字符,大写字母和数字相似,([0-9] | [az] | [AZ])匹配任何字母数字字符

([0-9] | [az] | [AZ])+匹配1个或更多字母数字字符。 +在正则表达式中表示前面的1个或多个

@是电子邮件地址中的'@'符号。 如果它不起作用,你可能不得不逃脱它,但我不知道@正则表达式的任何特殊含义

让我们更简化它

[RegularExpression(@"w+@w+.edu$", ErrorMessage = "text to display to user")]

w代表任何包含下划线的字母数字字符

阅读https://developer.mozilla.org/en/JavaScript/Guide/Regular_Expressions上的一些正则表达式文档以获取更多信息


尝试这个:

Regex regex = new Regex(@"^[A-Z0-9._%+-]+@[A-Z0-9.-]+.(edu)$", RegexOptions.IgnoreCase);

答案已更新...

链接地址: http://www.djcxy.com/p/92875.html

上一篇: Regular Expression to validate email ending in .edu

下一篇: Retrieve full email address from string