2011-12-20 10 views
-1

可能性の重複:
What is the best regular expression for validating email addresses?電子メールの正規表現の問題

私は電子メールアドレスを検証する正規表現があります:それはしかし、これらのタイプに失敗し

/^[^0-9][A-z0-9_]+([.][A-z0-9_]+)*[@][A-z0-9_]+([.][A-z0-9_]+)*[.][A-z]{2,4}$/ 

を:

[email protected] 

@の前に.の文字が1文字続く場合、検証は失敗します。私は正規表現には新しく、誰かが私がそれらのタイプの電子メールアドレスを許可するのを助けることができますか? *

答えて

2

変更+数量詞:

/^[A-z_][A-z0-9_]*([.][A-z0-9_]+)*[@][A-z0-9_]+([.][A-z0-9_]+)*[.][A-z]{2,4}$/ 
-----------------^ 

注:私はまた、あなたのルールの面で、より理にかなっている、[A-z_][^0-9]を変更しました。

+0

修正。問題は、元の正規表現がドットの前に少なくとも2文字必要であったことを意味する '+'であった。 – ArjunShankar

+1

'[A-z]'は、大文字と小文字のASCII文字、* plus *と一致します。コードポイントが 'Z'と' a'の間にある6つの句読点文字です。つまり、 '' '[A-Z \ [\\\]^_' a-z] '' 'と同じです。私はあなたがライスペーパーテストの準備ができていると思った、ティム、しかし、私はそれがあなたにとって "ワックス・オン、ワックス・オフ"に戻っていると思う。 :D –

+0

@ AlanMoore:OPが使用していた定義済みの文字クラスをコピーしていただけです。私はあなたのポイントを明確にするために私の答えを更新しました。メモをありがとう! –

関連する問題