1

私たちは多くのフランス人のクライアントと取引しており、これはサインアップフォームの問題です.

フランス語の文字を許可するようにコントロールに指示するにはどうすればよいですか?

最終的に、正規表現は Microsoft が提供するデフォルトのものです。

\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
4

4 に答える 4

2

基本的に、アクセントがあるかどうかにかかわらず、正規表現の結果は異なるべきではありません。(参照については、正規表現のアクセントを区別しない?を参照してください)

しかし、それに加えて、アクセントがメール内で有効であることを知りませんでした。

于 2012-08-29T14:57:54.763 に答える
1

Microsoft が提供する正規表現を機能させることができなくても、\w が èéà のような特殊文字とまだ一致しない場合は、任意の\wインスタンスを[\wèéà]に置き換えて、この正規表現が任意の単語リテラルと指定した特殊文字を受け入れるようにすることができます (ドメイン部分のこれらの特殊文字を省略すると、some@test.còm が見つからないと思います)

回答の範囲に含まれていない可能性がありますが、この質問への回答を見て、電子メールの検証に関するアイデアを得るのに時間がかかりますか?

于 2012-08-29T15:00:47.190 に答える
0

これを試して:

ValidationExpression="\w*[\éèà]+([-+.']\w+)*@\w*[\éèà]+([-.]\w+)*\.\w+([-.]\w+)*" />

[\éèà] は特殊文字の「リスト」です。/i ( [\éèà]/i ) を追加して、大文字と小文字の区別を無視することもできます。

ただし、バックエンドで電子メールを検証することをお勧めします。

public bool IsValidEmail(string email)
{
     bool isValidEmail = false;
     try
     {
         var validEmail = new MailAddress(email);
         isValidEmail = true;
     {
     catch (FormatException ex)
     {
         // The email has not a good format
     }
}
于 2012-08-29T14:54:56.983 に答える