JavaScript表单验证实例之验证表单项是否为空
表单验证几乎在每一个需要注册或者登陆的网站是必不可少的,有些验证则非常的复杂,可以说是各种各样给你的要求,不过本章节只介绍一下表单中最简单的验证方式,就是判断是否为空,有些要求比较低的网站对此已经满足需要了。
代码如下:
<!DOCTYPEhtml> <html> <head> <metacharset="utf-8"> <metaname="author"content="https://www.nhooo.com/"/> <title>js简单表单验证</title> <scripttype="text/javascript"> window.onload=function() { varbt=document.getElementById("bt"); bt.onclick=function() { if(document.myform.name.value=="") { alert("用户名不能为空!"); document.myform.name.focus(); returnfalse; } elseif(document.myform.pw.value=="") { alert("密码不能为空!"); document.myform.pw.focus(); returnfalse; } } } </script> </head> <body> <formaction="index.php"method="get"name="myform"> <ul> <li>姓名:<inputtype="text"name="name"id="name"/></li> <li>密码:<inputtype="text"name="pw"id="age"/></li> <li><inputtype="submit"id="bt"/></li> </ul> </form> </body> </html>
以上代码,当点击提交按钮的时候,能够进行简单的表单验证,如果表单项为空,那么就会弹出提示,并且将焦点放入当前表单项,代码比较简单,这里距不多介绍了,可以参阅相关阅读。
下面在来看下js验证表单实例代码:
gspan.html
<html> <head> <title>表单验证实例</title> <metahttp-equiv="Content-Type"content="text/html;charset=utf-"/> <scriptsrc="check.js"type="text/javascript"></script> <style> span{font-size:px;} .stats{color:#ccc;} .stats{color:black;} .stats{color:red;} .stats{color:green;} </style> </head> <body> <formmethod="post"action="reg.php"onsubmit="returnregs('click')"> 用户名:<inputtype="text"name="username"/><spanclass="stats">用户名不能为空</span><br/> 邮箱:<inputtype="text"name="email"/><spanclass="stats">邮箱不能为空</span><br/> 密码:<inputtype="password"name="password"/><spanclass="stats">密码不能为空</span><br/> 确认密码:<inputtype="password"name="chkpass"/><spanclass="stats">密码不能为空</span><br/> <inputtype="submit"/> </form> </body> </html>
check.js
functiongspan(cobj){//获取表单后的span标签显示提示信息 if(cobj.nextSibling.nodeName!='SPAN'){ gspan(cobj.nextSibling); }else{ returncobj.nextSibling; } } //检查表单obj【表单对象】,info【提示信息】fun【处理函数】click【是否需要单击,提交时候需要触发】 functioncheck(obj,info,fun,click){ varsp=gspan(obj); obj.onfocus=function(){ sp.innerHTML=info; sp.className='stats'; } obj.onblur=function(){ if(fun(this.value)){ sp.innerHTML="输入正确!"; sp.className="stats"; }else{ sp.innerHTML=info; sp.className="stats"; } } if(click=='click'){ obj.onblur(); } } onload=regs;//页面载入完执行 functionregs(click){ varstat=true;//返回状态,提交数据时用到 username=document.getElementsByName('username')[]; password=document.getElementsByName('password')[]; chkpass=document.getElementsByName('chkpass')[]; email=document.getElementsByName('email')[]; check(username,"用户名的长度在-之间",function(val){ if(val.match(/^\S+$/)&&val.length>=&&val.length<=){ returntrue; }else{ stat=false; returnfalse; } },click); check(password,"密码必须在-位之间",function(val){ if(val.match(/^\S+$/)&&val.length>=&&val.length<=){ returntrue; }else{ stat=false; returnfalse; } },click); check(chkpass,"确定密码要和上面一致,规则也要相同",function(val){ if(val.match(/^\S+$/)&&val.length>=&&val.length<=&&val==password.value){ returntrue; }else{ stat=false; returnfalse; } },click); check(email,"请按邮箱规则输入",function(val){ if(val.match(/\w+@\w+\.\w/)){ returntrue; }else{ stat=false; returnfalse; } },click); returnstat; }