Javascript-网页编程-DHTML-表单验证技术(正则表达式)

正则表达式的应用(用户注册)

通过正则表达式实现用户注册页面

1、正则表达式定义法1

var reg = /^[0-9]{6}$/; //必须是6个数字,而且必须是6个。多了或少了都不行。

2、正则表达式定义法2

var reg = new RegExp("^[0-9]{6}$"); 

3、细节
var reg = new RegExp("[a-z]{4}","i");//带参数,只要包含连续4个字母就行,忽略大小写

var reg = new RegExp("^[a-z]{4}","i");//带参数,必须以连续4个字母开始,忽略大小写

var reg = new RegExp("^[a-z]{4}$","i");//带参数,有且只有连续4个字母,忽略大小写

var reg = / ^\d{6}$ /;  //特殊符号不需要转义,外面也不用加引号

var reg = /^[\d\w]{6,9}$/;  //只包含6到9个数字或字符,这里不需要转义

3、表单的提交

例:(手动提交,不依赖于form中的submit)

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. <script type="text/javascript">  
  2.             function mySubmit(){  
  3.                 var oFormNode=document.getElementById("submitInfo");  
  4.                 if (checkUser()){  
  5.                     oFormNode.submit();  
  6.                 }  
  7.             }  
  8. </script>  

4、实例:

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. <html>  
  2.   <head>  
  3.     <title>DHTML技术演示---注册表单的验证且控制提交--前端校验--最终版本</title>  
  4.      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  5.      <script type="text/javascript">  
  6.         function check(name,reg,spanId,okInfo,errInfo){  
  7.             var value = document.getElementsByName(name)[0].value;  
  8.             //用正则检验  
  9.             var oSpanNode = document.getElementById(spanId);  
  10.             if(reg.test(value)){  
  11.                 oSpanNode.innerHTML=okInfo.fontcolor("green");  
  12.                 return true;  
  13.             }else{  
  14.                 oSpanNode.innerHTML=errInfo.fontcolor("red");  
  15.                 return false;  
  16.             }  
  17.         }  
  18.           
  19.         function checkUserName(){  
  20.             var reg =new RegExp("[a-z]{4}","i") ;//包含4个连续的字母,注意"i"中的双引号不能省略  
  21.             return check("userName",reg,"userNameSpan","用户名格式正确","用户名格式错误");  
  22.         }  
  23.           
  24.         function checkPwd(){  
  25.             var reg = new RegExp("^[\\w\\d]{6,9}$");  
  26.             return check("pwd",reg,"userPwdSpan","密码格式符合要求","密码长度必须是6-9位");  
  27.         }  
  28.           
  29.         function checkPwd2(){//判断第2个密码和第1个是否相同  
  30.             var flag;  
  31.             var pwd = document.getElementsByName("pwd")[0].value;  
  32.             var pwd2 = document.getElementsByName("pwd2")[0].value;  
  33.             var oSpanNode = document.getElementById("userPwd2Span");  
  34.             if(pwd==pwd2){  
  35.                 oSpanNode.innerHTML="两次密码一致".fontcolor("green");  
  36.                 flag = true;  
  37.             }else{  
  38.                 oSpanNode.innerHTML="两次密码不一致".fontcolor("red");  
  39.                 flag = false;  
  40.             }  
  41.             return flag;  
  42.         }  
  43.           
  44.         function checkMail(){  
  45.             var reg = /^\w+@\w+(\.\w+)+$/i;  
  46.             return check("mail",reg,"userMailSpan","","邮箱格式不正确");  
  47.         }  
  48.           
  49.         function checkUser( ){//控制表单的提交  
  50.             if(checkUserName() && checkPwd() && checkPwd2() && checkMail() ){  
  51.                 return true;  
  52.             }else{  
  53.                 return false;  
  54.             }  
  55.         }  
  56.           
  57.      </script>  
  58.   </head>  
  59.     
  60.   <body>  
  61.     <form action="/dhtmlProj/servlet/RegServlet" οnsubmit="return checkUser();">  
  62.         用户名:    <input type="text" name="userName" οnblur="checkUserName()"/>  
  63.         <span id="userNameSpan"></span>  
  64.         <br/>  
  65.         输入密码:<input type="text" name="pwd" οnblur="checkPwd()"/>  
  66.         <span id="userPwdSpan"></span>  
  67.         <br/>  
  68.         确认密码:<input type="text" name="pwd2" οnblur="checkPwd2()"/>  
  69.         <span id="userPwd2Span"></span>  
  70.         <br/>  
  71.         邮件地址:<input type="text" name="mail" οnblur="checkMail()"/>  
  72.         <span id="userMailSpan"></span>  
  73.         <br/>  
  74.         <input type="submit" value="注册">  
  75.     </form>  
  76.       
  77.   </body>  
  78.     
  79. </html>  
结果:



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值