电子邮件验证表达式中的ASP.NET Allow + Symbol

时间:2010-09-15 11:48:43

标签: asp.net validation

嘿,我有以下电子邮件验证表达

^ [\ W - 。] + @([\ W - ] +。)+ [\瓦特 - ] {2,4} $

我正在寻找的是允许电子邮件地址在电子邮件欢呼的@部分之前有“+”

2 个答案:

答案 0 :(得分:1)

只需将其更改为^[\w-.]+(?:\+[\w]*)?@([\w-]+.)+[\w-]{2,4}$

即可

这允许+之前的+和一些可选的字符。 所以 aliostad@gmail.com aliostad+ali@gmail.com都有效。

更新

答案 1 :(得分:1)

或使用完整的RFC 822正则表达式

^((?>[a-zA-Z\d!#$%&'*+\-/=?^_`{|}~]+\x20*|"((?=[\x01-\x7f])[^"\\]|\\[\x01-\x7f])*"\x20*)*(?<angle><))?((?!\.)(?>\.?[a-zA-Z\d!#$%&'*+\-/=?^_`{|}~]+)+|"((?=[\x01-\x7f])[^"\\]|\\[\x01-\x7f])*")@(((?!-)[a-zA-Z\d\-]+(?<!-)\.)+[a-zA-Z]{2,}|\[(((?(?<!\[)\.)(25[0-5]|2[0-4]\d|[01]?\d?\d)){4}|[a-zA-Z\d\-]*[a-zA-Z\d]:((?=[\x01-\x7f])[^\\\[\]]|\\[\x01-\x7f])+)\])(?(angle)>)$

RegexLib是查找大多数要求的正则表达式的好地方,你很少是第一个想做某事的人。