1

この正規表現は電子メール アドレスの検証に使用されますが、電子メール アドレスの最初の部分で有効な文字であるアポストロフィ (') のケースは含まれません。私は自分で見つけたいくつかの例を使用しようとしましたが、うまくいきません。

^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$

' 文字 (アポストラフィ) をサポートするために少し変更するにはどうすればよいですか?

4

2 に答える 2

2

メールアドレスのドキュメントによると、アポストロフィは@記号の前のどこにでも表示できます。現在の正規表現では次のとおりです。

^([\w-\.]+)@

有効な文字の括弧にアポストロフィを追加できるはずです。

^([\w-\.']+)@

これにより、正規表現全体が次のようになります。

^([\w-\.']+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$

編集(単一引用符で囲まれた正規表現)
この正規表現を単一引用符で囲まれた文字列内で使用している場合 (PHP で を使用する場合など)、次のように正規表現内の単一$regex = '^([\w ...引用符をエスケープする必要があります\'

^([\w-\.\']+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$
于 2012-11-09T19:55:17.637 に答える
1

最初の部分を次のように更新する必要があります。

^([\'\w-\.]+)
于 2012-11-09T19:57:02.340 に答える