0

現在、以下のスクリプトは ajax を使用してデータベースをチェックし、電子メール アドレスが以前に使用されたかどうかを確認します。EMAIL私の質問は、完全に定義されたアドレスになるまでデータベースのチェックを停止するにはどうすればよいですか?

フォームフィールド

<label for="email">Email: *&nbsp;</label><br/>
     <input id="username" name="username" type="email" value="" onblur="return check_username();" />

AJAX スクリプト

<script type="text/javascript">

$(document).ready(function() {
    $('#Loading').hide();    
});

function check_username(){

    var username = $("#username").val();
    if(username.length > 2){
                $.post("../script/check_username_availablity.php", {
            username: $('#username').val(),
        }, function(response){
            $('#Info').fadeOut();

            setTimeout("finishAjax('Info', '"+escape(response)+"')", 450);
        });
        return false;
    }
}

function finishAjax(id, response){

  $('#'+id).html(unescape(response));
  $('#'+id).fadeIn(1000);
} 

</script>
4

2 に答える 2

1

次のようなものを使用する代わりにif(username.length > 2){...

if (/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\
".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA
-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(username.val())) {...
于 2013-01-06T00:24:48.440 に答える
0

http://jsfiddle.net/cmontgomery/gEL7n/を参照してください

ialencarが投稿したものと非常によく似ています:

isValidateEmail = function(email) { 
    var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    return re.test(email);
} 

check_username = function() {
    var username = $("#username").val();
    if(isValidateEmail(username)) {
        $("#username-error").html("");
        console.log("ajax request...");
    } else {
        $("#username-error").html("invalid email address");
    }
}
于 2013-01-06T00:31:32.067 に答える