電子メールアドレスをhtml形式で検証したいと考えています。正規表現にはほとんど知識がありません。javascript regex - 私の非常に単純な正規表現で何が間違っていますか?
検証は非常に簡単で、ちょうど[email protected]_symbols.two_to_eight_symbols
パターンに一致します。
私は^[email protected]+\..{2,8}$
を使用しようとしている正規表現です。それでもうまくいかない場合、パターン[email protected]_symbols
を検証します。
注:このような単純な検証は心配しないでください。サーバ側ではfilter_var
(php)を実行し、そのメールにトークンを送信しています。入力された電子メールアドレスが正当なパターンに合っているときにフォーム上のボタンを有効にする必要があります:)
EDITこれらのパターン「any_symbols ...」は、私が入力しようとしているもののテキスト表現です。これは通常、私は "[email protected]" と入力:)私は、入力フィールドに入力するものではありません、または "[email protected]" となど:)
EDIT2 Actuallコード:
var email_regex = new RegExp("^[email protected]+\..{2,8}$");
if ($target.val().match(email_regex) !== null){
$button.removeAttr('disabled').removeClass('disabled');
}
else{
$button.attr('disabled', 'disabled').addClass('disabled');
}
EDIT3 * 問題が見つかりました! *これは正規表現そのものではなかった、それは私がこの全体の正規表現のことを言ってきたように、それは
new RegExp(/^[email protected]+\..{2,8}$/);
ない
new RegExp("^[email protected]+\..{2,8}$");
する必要があります...私は正規表現関数に正規表現を渡す方法でした
、 '/^[email protected]+\..{2,8}$/.test("[email protected]_symbols ")'は 'false'です: - ? –
''[email protected]_symbols'.match(' ^。+ @。+ \ .. {2,8} $ ');' – egis
私の質問が更新されました。また、https://developer.mozilla.org/ja/JavaScript/Reference/Global_Objects/String/match "一致するものがなければ、メソッドはヌルを返します。" – egis