jQuery之表單校驗:新用戶注冊




<!
DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>第10章新用戶注冊</title> <script type="text/javascript" src="js/jquery-migrate-1.2.0.js"></script> <script type="text/javascript" src="js/jQuery1.11.1.js"></script> <link rel="stylesheet" href="css/register.css"> </style> <script type="text/javascript"> $(function() { //驗證通行證用戶名的非空驗證 function Passname() { var pname = $("#userName").val(); if (pname == '') { $("#userNameId").addClass('error_prompt'); $("#userNameId").html("驗證通行證用戶名不能為空"); return false; } //規定正則以數字字母開頭 var reg = /^[a-zA-Z][a-zA-Z0-9_]*$/; if (reg.test(pname) == false) { $("#userNameId").addClass("error_prompt"); $("#userNameId").html("由字,數,下,點,減號組成..."); //$("#userName").val(""); return false; } else if (reg.test(pname) == true) { $("#userNameId").addClass('ok_prompt'); $("#userNameId").html("通行證用戶名輸入正確"); return true; } } //通行證失去焦點的時候 var blurname = $("#userName"); blurname.blur(function() { return Passname(); }); //驗證登陸密碼長度為6~16位 //密碼是6-16位字母加數字 function Pwd11() { var textpwd = $("#pwd").val(); if (textpwd =='') { $("#pwdId").addClass("error_prompt"); $("#pwdId").html("密碼是必填!"); return false; } var pwd11 = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$/; if (pwd11.test(textpwd) == false) { $("#pwdId").addClass("error_prompt"); $("#pwdId").html("密碼是6-16位字母加數字"); return false; }else if (pwd11.test(textpwd) == true) { $("#pwdId").addClass("ok_prompt"); $("#pwdId").html("密碼格式合格"); return true; } } //密碼失去焦點 var blurpwd = $("#pwd"); blurpwd.blur(function() { return Pwd11(); }); //再次驗證密碼 function twopwd(){ var firstpwd = $("#pwd").val();//第一次輸入的密碼 var tpwd = $("#repwd").val();//第二次輸入的密碼的時候。 if (firstpwd != tpwd) { $("#repwdId").addClass("error_prompt"); $("#repwdId").html("兩次輸入的密碼不一致!"); return false; }else{ //$("repwdId").html(""); return true; } } //重復密碼失去焦點 var blurtwopwd = $("#repwd"); blurtwopwd.blur(function() { return twopwd(); }); /* //真實姓名 function truename(){ var regname = $("#realName").val(); //漢字 var regn = /^[\u4e00-\u9fa5]{2,4}$/; if (regn.test(regname) == false) { $("#pwdId").addClass("ok_prompt"); $("#pwdId").html("密碼格式合格"); return true; } } */ //昵稱 function nickname(){ var kname = $("#nickName").val(); var len = kname.replace(/[\u4e00-\u9fa5]/g,"xx").length; if (len == 0) { $("#nickNameId").addClass("error_prompt"); $("#nickNameId").html("昵稱的輸入的格式不正確!"); return false; }else{ $("#nickNameId").addClass("ok_prompt"); $("#nickNameId").html("昵稱的輸入的格式正確!"); return true; } } //昵稱失去焦點 var e = $("#nickName"); e.blur(function(){ return nickname(); }); //驗證以1開頭的11位手機號碼 function number(){ var num = $("#tel").val(); var regnum = /^1([1-9]|4[57]|5[0-35-9]|7[0135678]|8[0-9])\d{8}$/; if (regnum.test(num) == false) { $("#telId").addClass("error_prompt"); $("#telId").html("請以1開頭的11位手機號碼"); return false; }else if (regnum.test(num) == true) { $("#telId").addClass("ok_prompt"); $("#telId").html("關聯手機號正確!"); return true; } } //失去焦點的時候 var num1 = $("#tel"); num1.blur(function(){ return number(); }); //郵箱 function emails(){ var ema = $("#email").val(); if (ema == '') { $("#emailId").addClass("import_prompt"); $("#emailId").html("跟你說了多少遍了別空格"); } } var emalss = $("#email"); emalss.blur(function(){ return emails(); }); //form.submit提交的按鈕 $("#registerForm").submit(function() { return Passname()&&Pwd11()&&twopwd()&&nickname()&&number()&&emails(); }); //鍵盤點擊事件 $(document).keydown(function(event) { if (event.keyCode == "13") {//按下回車鍵 return Passname()&&Pwd11()&&twopwd()&&nickname()&&number()&&emails(); } }); }); </script> </head> <body> <div id="header"> <img src="images/register_logo.gif" alt="logo" /> </div> <div id="main"> <form id="registerForm" action="myCart.html" method="post" name="myform"> <dl> <dt>通行證用戶名:</dt> <dd> <input type="text" id="userName" class="inputs userWidth" />@163.com </dd> <dd> <div id="userNameId"></div> </dd> </dl> <dl> <dt>登錄密碼:</dt> <dd> <input type="password" id="pwd" class="inputs" /> </dd> <dd> <div id="pwdId"></div> </dd> </dl> <dl> <dt>重復登錄密碼:</dt> <dd> <input type="password" id="repwd" class="inputs" /> </dd> <dd> <div id="repwdId"></div> </dd> </dl> <dl> <dt>性別:</dt> <dd> <input name="sex" type="radio" value="" checked="checked" /><input name="sex" type="radio" value="" /></dd> </dl> <dl> <dt>真實姓名:</dt> <dd> <input type="text" id="realName" class="inputs" /> </dd> </dl> <dl> <dt>昵稱:</dt> <dd> <input type="text" id="nickName" class="inputs" /> </dd> <dd> <div id="nickNameId"></div> </dd> </dl> <dl> <dt>關聯手機號:</dt> <dd> <input type="text" id="tel" class="inputs" /> </dd> <dd> <div id="telId"></div> </dd> </dl> <dl> <dt>保密郵箱:</dt> <dd> <input type="email" id="email" class="inputs" /> </dd> <dd> <div id="emailId"></div> </dd> </dl> <dl> <dt></dt> <dd> <input name=" " type="image" src="images/button.gif" /> </dd> </dl> </form> </div> </body> </html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>第10章新用戶注冊</title>
<script type="text/javascript" src="js/jquery-migrate-1.2.0.js"></script>
<script type="text/javascript" src="js/jQuery1.11.1.js"></script>
<link rel="stylesheet" href="css/register.css">
</style>
<script type="text/javascript">
    $(function() {
        
        //驗證通行證用戶名的非空驗證
        function Passname() {
            var pname = $("#userName").val();
            if (pname == '') {
                $("#userNameId").addClass('error_prompt');
                $("#userNameId").html("驗證通行證用戶名不能為空");
                return false;
            }
            //規定正則以數字字母開頭
            var reg = /^[a-zA-Z][a-zA-Z0-9_]*$/;
            if (reg.test(pname) == false) {
                $("#userNameId").addClass("error_prompt");
                $("#userNameId").html("由字,數,下,點,減號組成...");
                //$("#userName").val("");
                return false;
            } else if (reg.test(pname) == true) {
                $("#userNameId").addClass('ok_prompt');
                $("#userNameId").html("通行證用戶名輸入正確");
                return true;
            }
        }
        //通行證失去焦點的時候
        var blurname = $("#userName");
        blurname.blur(function() {
            return Passname();
        });
        
        
          //驗證登陸密碼長度為6~16位
        //密碼是6-16位字母加數字
        function Pwd11() {
            var textpwd = $("#pwd").val();
            if (textpwd =='') {
                $("#pwdId").addClass("error_prompt");
                $("#pwdId").html("密碼是必填!");
                return false;
            }
            var pwd11 = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$/;
            if (pwd11.test(textpwd) == false) {
                $("#pwdId").addClass("error_prompt");
                $("#pwdId").html("密碼是6-16位字母加數字");
                return false;
            }else if (pwd11.test(textpwd) == true) {
                $("#pwdId").addClass("ok_prompt");
                $("#pwdId").html("密碼格式合格");
                return true;
            }
        }  
          //密碼失去焦點
        var blurpwd = $("#pwd");
        blurpwd.blur(function() {
            return Pwd11();
        });
          
          
        //再次驗證密碼
        function twopwd(){
            var firstpwd = $("#pwd").val();//第一次輸入的密碼
            var tpwd = $("#repwd").val();//第二次輸入的密碼的時候。             
            if (firstpwd != tpwd) {    
                $("#repwdId").addClass("error_prompt");
                $("#repwdId").html("兩次輸入的密碼不一致!");
                return false;
            }else{
                //$("repwdId").html("");
                return true;
            }                    
        }
        //重復密碼失去焦點
        var blurtwopwd = $("#repwd");
        blurtwopwd.blur(function() {
            return twopwd();
        });
        
        
        /* //真實姓名
        function truename(){
            var regname = $("#realName").val();
            //漢字
            var regn = /^[\u4e00-\u9fa5]{2,4}$/;
            if (regn.test(regname) == false) {
                $("#pwdId").addClass("ok_prompt");
                $("#pwdId").html("密碼格式合格");
                return true;
            }                        
        } */
        
        
        //昵稱
        function nickname(){
            var kname = $("#nickName").val();
            var len = kname.replace(/[\u4e00-\u9fa5]/g,"xx").length;
            if (len == 0) {
                
                $("#nickNameId").addClass("error_prompt");
                $("#nickNameId").html("昵稱的輸入的格式不正確!");
                return false;
            }else{
                $("#nickNameId").addClass("ok_prompt");
                $("#nickNameId").html("昵稱的輸入的格式正確!");
                return true;
            }
        }
         //昵稱失去焦點
        var e = $("#nickName");
        e.blur(function(){
            return nickname();
        }); 
        
        //驗證以1開頭的11位手機號碼
        function number(){
            var num = $("#tel").val();
            var regnum = /^1([1-9]|4[57]|5[0-35-9]|7[0135678]|8[0-9])\d{8}$/;
            if (regnum.test(num) == false) {
                $("#telId").addClass("error_prompt");
                $("#telId").html("請以1開頭的11位手機號碼");
                return false;
            }else if (regnum.test(num) == true) {
                $("#telId").addClass("ok_prompt");
                $("#telId").html("關聯手機號正確!");
                return true;
            }
        }
        //失去焦點的時候
        var num1 = $("#tel");
        num1.blur(function(){
            return number();
        });
        
        
        //郵箱
        function emails(){
            var ema = $("#email").val();
            if (ema == '') {
                $("#emailId").addClass("import_prompt");
                $("#emailId").html("跟你說了多少遍了別空格");
            }
        }
        var emalss = $("#email");
        emalss.blur(function(){
            return emails();
        });
        //form.submit提交的按鈕
        $("#registerForm").submit(function() {
            return Passname()&&Pwd11()&&twopwd()&&nickname()&&number()&&emails();
        });

        //鍵盤點擊事件
        $(document).keydown(function(event) {
            if (event.keyCode == "13") {//按下回車鍵
                return Passname()&&Pwd11()&&twopwd()&&nickname()&&number()&&emails();
            }
        });
    });
</script>
</head>
<body>
    <div id="header">
        <img src="images/register_logo.gif" alt="logo" />
    </div>
    <div id="main">
        <form id="registerForm" action="myCart.html" method="post"
            name="myform">
            <dl>
                <dt>通行證用戶名:</dt>
                <dd>
                    <input type="text" id="userName" class="inputs userWidth" />@163.com
                </dd>
                <dd>
                    <div id="userNameId"></div>
                </dd>
            </dl>
            <dl>
                <dt>登錄密碼:</dt>
                <dd>
                    <input type="password" id="pwd" class="inputs" />
                </dd>
                <dd>
                    <div id="pwdId"></div>
                </dd>
            </dl>
            <dl>
                <dt>重復登錄密碼:</dt>
                <dd>
                    <input type="password" id="repwd" class="inputs" />
                </dd>
                <dd>
                    <div id="repwdId"></div>
                </dd>
            </dl>
            <dl>
                <dt>性別:</dt>
                <dd>
                    <input name="sex" type="radio" value="" checked="checked" /><input
                        name="sex" type="radio" value="" /></dd>
            </dl>
            <dl>
                <dt>真實姓名:</dt>
                <dd>
                    <input type="text" id="realName" class="inputs" />
                </dd>
            </dl>
            <dl>
                <dt>昵稱:</dt>
                <dd>
                    <input type="text" id="nickName" class="inputs" />
                </dd>
                <dd>
                    <div id="nickNameId"></div>
                </dd>
            </dl>
            <dl>
                <dt>關聯手機號:</dt>
                <dd>
                    <input type="text" id="tel" class="inputs" />
                </dd>
                <dd>
                    <div id="telId"></div>
                </dd>
            </dl>
            <dl>
                <dt>保密郵箱:</dt>
                <dd>
                    <input type="email" id="email" class="inputs" />
                </dd>
                <dd>
                    <div id="emailId"></div>
                </dd>
            </dl>
            <dl>
                <dt></dt>
                <dd>
                    <input name=" " type="image" src="images/button.gif" />
                </dd>
            </dl>
        </form>
    </div>

</body>
</html>

CSS的樣式:

* {padding:0;margin:0;}

#header,#main{
    width:600px;
    margin:0 auto;
}
#main{
    padding: 10px;
    border: 1px #999999 solid;
    border-radius: 8px;
    overflow: hidden;
}
.inputs{
    border:solid 1px #a4c8e0;
    width:150px;
    height:15px;
}

.userWidth{
    width:110px;
}
dl dd div{
    display: inline-block;
    font-size:12px;
    color:#000;
    margin-left: 5px;
    line-height: 18px;
}
dl{
    clear:both;
    line-height: 22px;
}
dt,dd{
    float:left;
}
dt{
    width:110px;
    text-align:right;
    font-size:14px;
    height:30px;
    line-height:25px;
}
dd{
    font-size:12px;
    color:#666666;
}
dl>dd:first-of-type{width: 170px;}

.import_prompt{
    border:solid 1px #ffcd00;
    background-color:#ffffda;
    padding-left:5px;
    padding-right:5px;
    line-height:20px;
}

.error_prompt{
    border:solid 1px #ff3300;
    background:#fff2e5 url(../images/li_err.gif)5px 2px  no-repeat;
    padding:2px 5px 0px 25px;
    line-height:20px;
}
/*褰撴枃鏈鍐呭杈撳叆姝g‘鏃訛紝鎻愮ず鏂囨湰鐨勬牱寮�*/
.ok_prompt{
    border:solid 1px #01be00;
    background:#e6fee4 url(../images/li_ok.gif) 5px 2px no-repeat;
    padding:2px 5px 0px 25px;
    line-height:20px;
}

 

 

 

 

希望能夠幫到大家。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM