js校验form表单

<html>
   <head>
      <title>js校验form表单</title>
      <meta charset="UTF-8"/>
      <!--声明css代码域-->
      <style type="text/css">
         /*设置背景图片*/
         body{
            background-image: url(img/b.jpg);
         }
         /*设置tr样式*/
         tr{
            height: 40px;
         }
         /*设置div样式*/
         #showdiv{
            border: solid 1px #FF0000;
            border-radius: 10px;
            width: 500px;
            margin: auto;
            margin-top: 40px;  
         }
         /*设置table*/
         table{
            margin: auto;
            color: white;  
         }
         span{
            font-size:13px;
         }
         #codeSpan{
            font-size:20px;
         }
      </style>
      <!--声明js代码域-->
      <script type="text/javascript">
         //常见验证码
            function createCode(){
               //创建随机四位数字
               var code=Math.floor(Math.random()*9000+1000);
               //获取元素对象
               var span=document.getElementById("codeSpan");
               //将数字存放到span中
               span.innerHTML=code;               
            }
         //验证用户名
            function checkUname(){
               //获取用户的用户名信息
                  var uname=document.getElementById("uname").value;
               //创建校验规则
                  var reg=/^[\u4e00-\u9fa5]{2,4}$/
               //获取span对象
                  var span=document.getElementById("unameSpan");
               //开始校验
                  if(uname=="" || uname==null){
                     //输出校验结果
                     span.innerHTML="用户名不能为空";
                     span.style.color="red";
                     return false;
                  }else if(reg.test(uname)){
                     //输出校验结果
                     span.innerHTML="用户名ok";
                     span.style.color="green";
                     return true;
                  }else{
                     //输出校验结果
                     span.innerHTML="用户名不符合规则";
                     span.style.color="red";
                     return false;
                  }
               
            }
         //验证密码
            function checkPwd(){
               //获取用户的密码信息
                  var pwd=document.getElementById("pwd").value;
               //创建校验规则
                  var reg=/^[a-z]\w{5,7}$/;
               //获取span对象
                  var span=document.getElementById("pwdSpan");
               //开始校验
                  if(pwd=="" ||pwd==null){
                     //输出校验结果
                     span.innerHTML="*密码不能为空";
                     span.style.color="red";
                     return false;
                  }else if(reg.test(pwd)){
                     //输出校验结果
                     span.innerHTML="*密码ok";
                     span.style.color="green";
                     return true;
                  }else{
                     //输出校验结果
                     span.innerHTML="*密码格式不正确";
                     span.style.color="red";
                     return false;
                  }
               checkPwd2();
            }
         //校验确认密码
            function checkPwd2(){
               //获取第一次密码
               var pwd=document.getElementById("pwd").value;
               //获取确认密码
               var pwd2=document.getElementById("pwd2").value;
               //获取span对象
               var span=document.getElementById("pwd2Span");
               //比较两次密码是否相同
               if(pwd2==""||pwd2==null){
                  span.innerHTML="确认密码不能为空";
                  span.style.color="red";
                  return false;
               }else if(pwd==pwd2){
                  span.innerHTML="确认密码ok";
                  span.style.color="green";
                  return true;
               }else{
                  span.innerHTML="两次密码不一致";
                  span.style.color="red";
                  return false;
               }
            }
         //校验手机号
            function checkPhone(){
               return checkField("phone",/^1[3,4,5,7,8]\d{9}$/);
            }
         //校验邮箱
            function checkMail(){
               return checkField("mail",/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+$/ )
               
               
            }
         //校验籍贯
            function checkAddress(){
               //获取用户选择的数据
               var sel=document.getElementById("address").value;
               //获取span
               var span=document.getElementById("addressSpan");
               //校验
               if(sel!=0){
                  span.innerHTML="籍贯选择成功";
                  span.style.color="green";
                  return true;
               }else{
                  span.innerHTML="籍贯不能为请选择";
                  span.style.color="red";
                  return false;
               }
               
               
            }
         //校验爱好
            function checkFav(){
               //获取所有的爱好
               var favs=document.getElementsByName("fav");
               //获取span
               var span=document.getElementById("favSpan");
               //遍历
               for(var i=0;i<favs.length;i++){
                  if(favs[i].checked){
                     span.innerHTML="爱好选择成功";
                     span.style.color="green";
                     return true;
                  }
               }
               
               span.innerHTML="爱好至少选则一项";
               span.style.color="red";
               return false;
               
            }
         //校验是否同意公司协议
            function checkAgree(){
               document.getElementById("sub").disabled=!document.getElementById("agree").checked;
            }
         //提交判断
            function checkSub(){
               checkUname();
               checkPwd();
               checkPwd2();
               checkPhone();
               checkMail();
               checkAddress();
               checkFav();
               return checkUname()&&checkPwd()&&checkPwd2()&&checkPhone()&&checkMail()&&checkAddress()&&checkFav();
            }
/*-------------------------------------------------------------------------------------------------*/
         //封装校验:相同的保留,不同的传参。
         function checkField(id,reg){
            //获取用户数据
               var inp=document.getElementById(id);
               var va=inp.value;
               var alt=inp.alt;
            //创建校验规则
            //获取span对象
               var span=document.getElementById(id+"Span")
            //开始校验
               if(va=="" ||va==null){
                  //输出校验结果
                  span.innerHTML=alt+"不能为空";
                  span.style.color="red";
                  return false;
               }else if(reg.test(va)){
                  //输出校验结果
                     span.innerHTML=alt+"ok";
                     span.style.color="green";
                     return true;
               }else{
                  //输出校验结果
                     span.innerHTML=alt+"不符合规则";
                     span.style.color="red";
                     return false;
               }
         }
      </script>
   </head>
   <body οnlοad="createCode()">
      <div id="showdiv">
      <form action="#" method="get" οnsubmit="return checkSub()">
         <table>
            <tr>
               <td width="80px">用户名:</td>
               <td width="200px">
                  <input type="text" name="uname" id="uname" value="" οnblur="checkUname()" alt="用户名"/><span id="unameSpan">*2-4位汉字</span>
               </td>
            </tr>
            <tr>
               <td>密码:</td>
               <td>
                  <input type="password" name="pwd" id="pwd" value="" οnblur="checkPwd()"/>
                  <span id="pwdSpan"></span>
               </td>
            </tr>
            <tr>
               <td>确认密码:</td>
               <td>
                  <input type="password" name="pwd2" id="pwd2" value="" οnblur="checkPwd2()"/>
                  <span id="pwd2Span"></span>
               </td>
            </tr>
            <tr>
               <td>手机号:</td>
               <td>
                  <input type="text" name="phone" id="phone" value="" alt="手机号" οnblur="checkPhone()"/>
                  <span id="phoneSpan"></span>
               </td>
            </tr>
            <tr>
               <td>邮箱:</td>
               <td>
                  <input type="text" name="mail" id="mail" value="" alt="邮箱" οnblur="checkMail()"/>
                  <span id="mailSpan"></span>
                  
            </tr>
            <tr>
               <td>性别</td>
               <td>
                  男 <input type="radio" name="sex" id="sex" value="0" checked="checked"/>
                  女 <input type="radio" name="sex" id="sex" value="1" />
               </td>
            </tr>
            <tr>
               <td>籍贯:</td>
               <td>
                  <select name="address" id="address" οnchange="checkAddress()">
                     <option value="0">--请选择--</option>
                     <option value="1">北京</option>
                     <option value="2">上海</option>
                     <option value="3">广州</option>
                  </select>
                  <span id="addressSpan"></span>
               </td>
            </tr>
            <tr>
               <td>爱好:</td>
               <td>
                  <input type="checkbox" name="fav" id="" value="1" οnclick="checkFav()"/>LOL
                  <input type="checkbox" name="fav" id="" value="2" οnclick="checkFav()"/>睡觉
                  <input type="checkbox" name="fav" id="" value="3" οnclick="checkFav()"/>吃饭<br />
                  <input type="checkbox" name="fav" id="" value="4" οnclick="checkFav()"/>打豆豆
                  <input type="checkbox" name="fav" id="" value="5" οnclick="checkFav()"/>看电影
                  <input type="checkbox" name="fav" id="" value="6" οnclick="checkFav()" />听歌
                  <span id="favSpan"></span>
               </td>
            </tr>
            <tr>
               <td>个人介绍:</td>
               <td>
                  <textarea name="intro" rows="4" cols="40" id="intro"></textarea>
                  
               </td>
            </tr>
            <tr>
               <td>验证码:</td>
               <td>
                  <input type="text" name="code" id="code" value="" style="width: 100px;"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                  <span id="codeSpan" οnclick="createCode()" style="background-image: url(img/code.jpg.gif);color: black;"></span>
               </td>
            </tr>
            <tr>
               <td colspan="2" align="center"><input type="checkbox" name="" id="agree" value="" οnclick="checkAgree()"/>是否同意本公司协议</td>
            </tr>
            <tr>
               <td colspan="2" align="center"><input type="submit" name="" id="sub" value="立即注册" disabled="disabled"/></td>
            </tr>
         </table>
      </form>
      </div>
   </body>
</html>
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值