1

jQuery を使用して、ユーザーが有効な電子メール アドレスをテキスト ボックスに入力したかどうかを確認しようとしています。基本的に、送信ボタンをデフォルトで無効のままにしたいのですが、キーアップごとにメールアドレスが有効かどうかを確認してから、ボタンを有効にしたいと考えています。ユーザーが有効な電子メールを入力した後、一部を削除して再び無効になる場合 (つまり、@ 記号)、送信ボタンを再び無効にする必要があります。

ここに部分的に機能するスクリプトがあります。私のチェックまたは @ 記号はうまく機能しますが、.com、.co、.net、.org、.edu などをチェックするのに苦労しています... 何らかの理由で、入力していないのにボタンが有効のままです。メールの有効な「エンディング」。

たとえば、「emailco@」は有効な電子メールとして認識されます。これが私のスクリプトです:

<script>
$(document).ready(function() {

    $('#email').bind('keyup', function(e) {

        var email = document.getElementById("email");

        if (email.value.search("@") != -1) {

            if (
            (email.value.search(".com") != -1)||
            (email.value.search(".co") != -1)||
            (email.value.search(".org") != -1)||
            (email.value.search(".net") != -1)||
            (email.value.search(".gov") != -1)||
            (email.value.search(".biz") != -1)||
            (email.value.search(".me") != -1)||
            (email.value.search(".edu") != -1)) {

            document.getElementById("email_go").disabled = false; 
        }

        else {
            document.getElementById("email_go").disabled = true; 
        }
        }

        else {
            document.getElementById("email_go").disabled = true; 
        }
    }); 
});
</script>
4

4 に答える 4

1
var email = $('#email').val();
    var pattern = ".+\\@@.+\\..+";
        var valid = email.match(pattern);
        if (valid == null) {
           alert("Not Valid");
           return;
        }
    else{
           alert("Valid");
           return;
    }
于 2013-09-24T09:42:55.100 に答える
1

正規表現を使用するだけです:

if (email.value.search("@") != -1) {

    if (/(.+)@(.+)\.(com|edu|org|etc)$/.test(email.value))
}
于 2013-09-24T09:42:56.630 に答える
1

この正規表現コードを使用して、jQuery を使用して電子メール形式をテストします。

var email = $('.email').val();
    if(email.match(/^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$/))
    {
        alert('OK');
    }
于 2013-09-24T09:55:43.657 に答える