jquery表单验证

时间:6年前   阅读:5243

目标:使用jQuery进行表单验证。

功能:1.必填选项后面添加了红色小星星;

   2.选中开始输入时,输入文本框会改变当前背景色,增强用户体验;

   3.输入的时候就开始验证,当输入格式正确就会提醒,就是当前还停留在输入框,或者点击提交按钮;

   4.设置重置按钮,点击重置,会清除文本框里面的所有内容。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
body { font:12px/19px Arial, Helvetica, sans-serif; color:#666;}
form div { margin:5px 0;}
.int label { float:left; width:100px; text-align:right;}
.int input { padding:1px 1px; border:1px solid #ccc;height:16px;}
.sub { padding-left:100px;}
.sub input { margin-right:10px; }
.formtips{width: 200px;margin:2px;padding:2px;}
.onError{
    background:#FFE0E9 url(dd01.png) no-repeat 0 center;
    padding-left:25px;
}
.onSuccess{
    background:#E9FBEB url(dd02.png) no-repeat 0 center;
    padding-left:25px;
}
.high{
    color:red;
}

.focus { 
     border: 1px solid #f00;
     background: #fcc;
}
		</style>
</head>
<script src="../js/jquery-1.11.3.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
    

    //2.如果是必填的,则加红星标识.
    $("form :input.required").each(function(){
        var $required = $("<strong class='high'> *</strong>"); //创建元素
        $(this).parent().append($required); //然后将它追加到文档中
    });


         //3.文本框失去焦点后开始验证
        $('form :input').blur(function(){
         var $parent = $(this).parent();
         $parent.find(".formtips").remove();


         //3.1验证用户名
         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 onSuccess">'+okMsg+'</span>');
                }
         }

         //3.2验证邮件
         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 onSuccess">'+okMsg+'</span>');
            }
         }

         //3.3实现一边输入一边验证
    }).keyup(function(){
        $(this).triggerHandler("blur");
    }).focus(function(){
          $(this).triggerHandler("blur");
        });//end blur

        
        //3.4提交,最终验证。
        $('#send').click(function(){
            $("form :input.required").trigger('blur');
            var numError = $('form .onError').length;
            if(numError){
                return false;
            } 
            alert("注册成功,密码已发到你的邮箱,请查收.");
        });

        //4.重置
         $('#res').click(function(){
            $(".formtips").remove(); 
         });

         //1.选中输入的时候输入框变色
        $(":input").focus(function(){
            $(this).addClass("focus");
        }).blur(function(){
            $(this).removeClass("focus");
        });


})

</script>
<body>
<form method="post" action="">
    <div class="int">
        <label for="username">用户名:</label>
        <input type="text" id="username" class="required" />
    </div>
    <div class="int">
        <label for="email">邮箱:</label>
        <input type="text" id="email" class="required" />
    </div>
    <div class="int">
        <label for="personinfo">个人资料:</label>
        <input type="text" id="personinfo" />
    </div>
    <div class="sub">
        <input type="submit" value="提交" id="send"/><input type="reset" id="res"/>
    </div>
</form>

</body>
</html>

注意:CSS样式里面的url(dd01.png)   url(dd02.png)两张图片自已分别加上去

本站声明:网站内容来源于网络,如有侵权,请联系我们https://www.qiquanji.com,我们将及时处理。

微信扫码关注

更新实时通知

上一篇:期权交易有什么成功秘诀?

下一篇:2019年2月关于提醒50ETF期权合约到期日的公告

网友评论

请先 登录 再评论,若不是会员请先 注册