嘿,我有以下电子邮件验证表达
^ [\ W - 。] + @([\ W - ] +。)+ [\瓦特 - ] {2,4} $
我正在寻找的是允许电子邮件地址在电子邮件欢呼的@部分之前有“+”
答案 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是查找大多数要求的正则表达式的好地方,你很少是第一个想做某事的人。