メールアドレスをhtml形式で検証したい。私は正規表現の知識がほとんどありません。
検証は非常に単純で、any_symbols@any_symbols.two_to_eight_symbols
パターンを一致させるだけです。
これが私が使用しようとしている正規表現です^.+@.+\..{2,8}$
。それでも機能しません。 pattern を検証しますany_symbols@four_symbols
。
注: このような単純な検証について心配する必要はありません。サーバー側でfilter_var
(php) を実行し、そのメールにトークンを送信しています。入力された電子メールアドレスがいくつかの正気のパターンに適合する場合、フォームのボタンを有効にする必要があるだけです:)
編集問題で言及したこれらのパターン「any_symbols ...」は、入力しようとしているものの単なるテキスト表現です。これは、入力フィールドに入力するものではありません:) 通常、「test@test.com」、または「blabla@hehe.haha」などと入力します:)
EDIT2実際のコード:
var email_regex = new RegExp("^.+@.+\..{2,8}$");
if ($target.val().match(email_regex) !== null){
$button.removeAttr('disabled').removeClass('disabled');
}
else{
$button.attr('disabled', 'disabled').addClass('disabled');
}
EDIT3 *問題が見つかりました! * 正規表現自体ではなく、正規表現を Regex 関数に渡す方法でした...
new RegExp(/^.+@.+\..{2,8}$/);
ではない
new RegExp("^.+@.+\..{2,8}$");
私が言ったように、この正規表現全体は私にとってまったく新しいものです:))