jq实战-表单验证

作为学习的记录,方便大家查看,废话不多说,直接上代码

html 结构:

<form action="a.php" method="" class="form">
    <div>
        <label for="username">用户名:</label>
        <input id="username" class="required" type="text" />
    </div>
    <div>
        <label for="email">邮箱:</label>
        <input id="email" class="required" type="text" />
    </div>
    <div><input id="send" type="submit" /></div>
</form> 

jq代码:

$("form :input.required").each(function(){
        var $required = $('<strong class="high">*</strong>');
        $(this).parent().append($required);
    });
    $("form :input").blur(function(){
        var $parent = $(this).parent();
        $parent.find(".formtips").remove(); //删除多余重复
        // 验证用户名
        if($(this).is('#username')){
            if(this.value == ""|| this.value.length<6 ){
                var errorMsg = "请输入6位用户名" ;
                $parent.append($('<span class="formtips onError">'+errorMsg+'</span>'));
            }else{
                var okMsg = "输入正确";
                $parent.append($('<span class="formtips okMsg">'+okMsg+'</span>'));
            }
        }
        // 验证邮箱
        if($(this).is('#email')){
            if(this.value == "" ){ //|| (this.value!="" && !/.+@.+\.[a-zA-Z] {2,4}$/.test(this.value)
                var errorMsg = "请输入正确的E-mail" ;
                $parent.append($('<span class="formtips onError">'+errorMsg+'</span>'));
            }else{
                var okMsg = "输入正确";
                $parent.append($('<span class="formtips okMsg">'+okMsg+'</span>'));
            }
        }
    }).keyup(function() {
        $(this).triggerHandler('blur');
    }).focus(function(){
        $(this).triggerHandler('blur');
    });

    $("#send").click(function(){
        $("form .required:input").trigger('blur');
        var numError = $("form .onError").length;
        var $id = $("form .onError").prevAll(".required").attr("id");
        if(numError){
            if(numError > 1){
                $("#username").focus();
            }else if($id == "email"){
                $("#email").focus();
        }
            return false;
        }
        alert("注册成功,密码已发送到你的邮箱,请查收");
    });

 

学习代码是需要多跑几遍的!

posted @ 2015-12-24 22:06  月半字  阅读(222)  评论(0编辑  收藏  举报