在@符号后避免使用连字符

时间:2013-04-03 06:23:26

标签: c# regex validation email-validation

我正在编写一个电子邮件验证程序,我想验证电子邮件,使其在@符号后不包含连字符'_'。 例如允许发送电子邮件lmn-xyz@abc-pqr.com,但不允许使用xyz@-pqr.com。 我试过以下表达但没有帮助。

  

^ [A-ZA-Z0-9 _ + - ] +([A-ZA-Z0-9 _ + - ]。+) @ [A-ZA-Z0-9 - ] +([一个-Za-Z0-9 - 。] +)([A-ZA-Z] {2,})$

任何建议我如何实现上述功能都是正则表达式。 提前谢谢。

2 个答案:

答案 0 :(得分:0)

[a-zA-Z0-9]符号后再次添加第一个组,不带连字符(@)。为了保持一致性,您还应该在+之后的第一个组中使用*更改@ - 因为需要添加一个。{/ p>

^[a-zA-Z0-9_+-]+(.[a-zA-Z0-9_+-]+)@[a-zA-Z0-9][a-zA-Z0-9-]*(.[a-zA-Z0-9-]+).([a-zA-Z]{2,})$

答案 1 :(得分:0)

在@符号后使用否定前瞻:

^[a-zA-Z0-9_\+-]+(\.[a-zA-Z0-9_\+-]+)*@(?!-)[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.([a-zA-Z]{2,})$