-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

パターンの最初の部分が一致するため機能しないため、否定された2番目の部分は使用されません。基本的に、パターン 1 またはパターン 2 が一致するかどうかを確認します

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 に答える