1

英数字 (アンダースコアとハイフンを含む) またはユーザーの電子メールをユーザー名として使用できるユーザー名フィールドがあります。英数字の正規表現検証と「OR」条件の電子メールを追加しましたが、うまくいかないようでした。無効な文字を検証でき、電子メールを入力したときに認識できますが、「test@test」のような間違った電子メールを渡します。これは私が使用した正規表現です

"/^[a-z0-9_-]{3,16}$/|"+ @"[\w\s\.@_]*"
4

2 に答える 2

1

メールを送信できる場合、メールは有効です。

電子メールではスペースも有効な文字です。電子メールで必要なのは@

だからあなたの正規表現は

 /^[\w-]{3,16}$|^[^@]+@[^@]+$/

メールを検証するための正規表現[\w\s\.@_]*は、潜在的な顧客の 50% を失う可能性があります:P.


これらの記事をご覧ください

要するに、これらの基準は守られていないので、従うほうがよいということです ^[^@]+@[^@]+$

于 2013-06-26T14:07:39.483 に答える
0

2 つの正規表現を作成し、|| を使用します。真実の検証のために。

+.[AZ]{2,4} をメールに追加して、適切なドメイン拡張子にする必要があります。2 ~ 4 文字のドメイン拡張子を受け入れます。それに応じて 4 を調整できます。

  ^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$
于 2013-06-26T14:06:44.430 に答える