-1

我想扩展标准的 asp.net 电子邮件正则表达式验证器以排除特定电子邮件。

这是原文:

 ValidationExpression="(\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)" 

这是我制作的扩展:

 ValidationExpression="(\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)|(?!^email\@email\.com$)" 

无法弄清楚为什么这不起作用

Ps 我知道不建议将标准的 asp.net 正则表达式验证器用于电子邮件验证,但对我来说没问题。

4

2 回答 2

1

它不起作用,因为您的模式匹配的第一部分,所以它不使用您否定的第二部分。您基本上是在检查pattern1 pattern2 是否匹配。

看看https://stackoverflow.com/a/271946/832273如何创建自己的验证器。这使您可以自己在程序中进行各种不同的检查,而无需将所有内容都放入您的正则表达式中。

于 2012-05-13T21:14:29.130 回答
1
^(?!^email@email\.com$)[originalregexhere]

这是在匹配开始时进行负前瞻。

完整的例子:

ValidationExpression="(?!^email@email\.com$)(\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)" 
于 2012-05-13T21:19:45.523 回答