JavaScript使用简单正则表达式的数据验证功能示例
本文实例讲述了JavaScript使用简单正则表达式的数据验证功能。分享给大家供大家参考,具体如下:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <title>Register-reg</title> <scripttype="text/javascript"language="javascript"> functioncheckName(){ varnameElement=document.getElementById("name"); //varregExp=/^(a-z)[^a-z\d_]/i; varregExp=/[a-zA-Z\d_]/i;//\w匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'。 varregExp2=/^[A-Za-z]/i;//匹配字符串开始位置为字母 varresultElement=document.getElementById("resName"); if(nameElement.value.match(regExp)&&nameElement.value.match(regExp2)&&nameElement.value.length>=6){ //匹配成功 //会员名为字母、数字、下划线组成,并且字母为开头,长度不小于6 resultElement.innerHTML=""; returntrue; } else{ resultElement.innerHTML="会员名为字母、数字、下划线组成,并且字母为开头,长度不小于6!"; returnfalse; } } functioncheckPwd(){ varpwdElement=document.getElementById("pwd"); varregExp=/[a-zA-Z\d_]/i;//\w匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'。 varregExp2=/[a-zA-Z]/i;//匹配字母 varregExp3=/\d/i;//匹配数字 varresultElement=document.getElementById("resPwd"); if(pwdElement.value.match(regExp)&&pwdElement.value.match(regExp2)&&pwdElement.value.match(regExp3)&&pwdElement.value.length>=6){ //匹配成功 //密码为字母、数字、下划线组成,并且必须有字母、数字,长度不小于6 resultElement.innerHTML=""; returntrue; } else{ resultElement.innerHTML="密码为字母、数字、下划线组成,并且必须有字母、数字,长度不小于6!"; returnfalse; } } functioncheckPwd2(){ varpwdElement=document.getElementById("pwd"); varpwd2Element=document.getElementById("pwd2"); varresultElement=document.getElementById("resPwd2"); if(pwdElement.value==pwd2Element.value){ //重输密码与之前密码完全匹配 resultElement.innerHTML=""; returntrue; } else{ resultElement.innerHTML="密码不一致!"; returnfalse; } } functioncheckGentle(){ vargentleElement=document.getElementById("gentle"); varresultElement=document.getElementById("resGentle"); if((gentleElement.value=="男"||gentleElement.value=="女")||(gentleElement.value=="m"||gentleElement.value=="f")||(gentleElement.value=="male"||gentleElement.value=="famale")){ //性别判断是否在:男、女、male、famale、m、f之内 resultElement.innerHTML=""; returntrue; } else{ resultElement.innerHTML="性别判断是否在:男、女、male、famale、m、f之内!"; returnfalse; } } functioncheckAge(){ varageElement=document.getElementById("age"); varresultElement=document.getElementById("resAge"); if(parseInt(ageElement.value)>0&&parseInt(ageElement.value)<=150){ //如果年龄在0~150之间 resultElement.innerHTML=""; returntrue; } else{ resultElement.innerHTML="年龄在0~150之间!"; returnfalse; } } functioncheckMail(){ varmailElement=document.getElementById("mail"); varregExp=/[^a-z0-9_]/gi;//匹配非字母、数字、下划线的字符 varregExp2=/[a-z]/gi;//匹配字母 varresultElement=document.getElementById("resMail"); if(!mailElement.value.match(regExp)){//如果出现非字母、数字、下划线的字符 resultElement.innerHTML="邮箱地址不正确!"; returnfalse; } else{ if(mailElement.value.indexOf(".")-mailElement.value.indexOf("@")>=2){ resultElement.innerHTML=""; returntrue; } else{ resultElement.innerHTML="邮箱地址不正确!"; returnfalse; } } } functioncheckTel(){ vartelElement=document.getElementById("tel"); varregExp=/\d{7,12}/g;//匹配7~12位电话数字 varregExp2=/[^0-9]/g;//是否有数字以外的字符 varresultElement=document.getElementById("resTel"); if(telElement.value.match(regExp)&&telElement.value.length<=12){ if(telElement.value.match(regExp2)){ resultElement.innerHTML="电话号码为纯数字,且位于7~12位之间!"; returnfalse; } else{ resultElement.innerHTML=""; returntrue; } } else{ resultElement.innerHTML="电话号码为纯数字,且位于7~12位之间!";//!telElement.value.match(regExp2)&& returnfalse; } } functioncheckAll(){ if(checkName()&&checkPwd()&&checkPwd2()&&checkGentle()&&checkAge()&&checkMail()&&checkTel()){ alert("恭喜,填写的信息正确!"); } else{ alert("错误,请确认填写的信息是否正确!"); } } //当窗体加载完成时执行 window.onload=function(){ varinputElements=document.getElementsByTagName("input"); inputElements[0].onblur=function(){ checkName(); } inputElements[1].onblur=function(){ checkPwd(); } inputElements[2].onblur=function(){ checkPwd2(); } inputElements[3].onblur=function(){ checkGentle(); } inputElements[4].onblur=function(){ checkAge(); } inputElements[5].onblur=function(){ checkMail(); } inputElements[6].onblur=function(){ checkTel(); } inputElements[7].onclick=function(){ checkAll(); } } </script> <styletype="text/css"> body{font-size:16px; font-weight:600; font-family:微软雅黑; line-height:30px; } thead{text-align:center; } input{width:150px; } input[type=button]{height:38px; font-size:20px; font-weight:600; } ul{border:1pxsolid#c3c3c3; } li{list-style-type:square; } </style> </head> <body> <formaction=""method="post"> <table> <thead><tr><tdcolspan="2"><h2>表单验证</h2></td></tr></thead> <tr><td>会员名:</td><td><inputtype="text"id="name"/></td><tdid="resName"></td></tr> <tr><td>密码:</td><td><inputtype="password"id="pwd"/></td><tdid="resPwd"></td></tr> <tr><td>重复密码:</td><td><inputtype="password"id="pwd2"/></td><tdid="resPwd2"></td></tr> <tr><td>性别:</td><td><inputtype="text"id="gentle"/></td><tdid="resGentle"></td></tr> <tr><td>年龄:</td><td><inputtype="text"id="age"/></td><tdid="resAge"></td></tr> <tr><td>电子邮件:</td><td><inputtype="text"id="mail"/></td><tdid="resMail"></td></tr> <tr><td>联系号码:</td><td><inputtype="text"id="tel"/></td><tdid="resTel"></td></tr> <tr><td></td><td><inputtype="button"value="注册"id="checkAll"/></td></tr> </table> </form> <ul> <li>会员名为字母、数字、下划线组成,并且字母为开头,长度不小于6</li> <li>密码为字母、数字、下划线组成,并且必须有字母、数字,长度不小于6</li> <li>性别判断是否在:男、女、male、famale、m、f之内</li> <li>年龄在0~150之间</li> <li>邮箱地址</li> <li>电话号码为纯数字,且位于7~12位之间!</li> </ul> </body> </html>
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript
正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript正则表达式技巧大全》、《JavaScript替换操作技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript中json操作技巧总结》、《JavaScript错误与调试技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。