Pengesahan borang adalah penting untuk hampir setiap laman web yang memerlukan pendaftaran atau log masuk Beberapa pengesahan adalah sangat rumit dan boleh dikatakan sebagai pelbagai keperluan untuk anda ia kosong. Beberapa tapak web dengan keperluan yang lebih rendah telah memenuhi keperluan ini.
Kod adalah seperti berikut:
<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.jb51.net/" /> <title>js简单表单验证</title> <script type="text/javascript"> window.onload=function() { var bt=document.getElementById("bt"); bt.onclick=function() { if(document.myform.name.value=="") { alert("用户名不能为空!"); document.myform.name.focus(); return false; } else if(document.myform.pw.value=="") { alert("密码不能为空!"); document.myform.pw.focus(); return false; } } } </script> </head> <body> <form action="index.php" method="get" name="myform"> <ul> <li>姓名:<input type="text" name="name" id="name" /></li> <li>密码:<input type="text" name="pw" id="age" /></li> <li><input type="submit" id="bt"/></li> </ul> </form> </body> </html>
Kod di atas boleh melakukan pengesahan borang mudah apabila butang hantar diklik Jika item borang kosong, gesaan akan muncul dan fokus akan diletakkan pada item borang semasa diperkenalkan di sini, anda boleh merujuk kepada bacaan berkaitan.
Mari kita lihat kod contoh borang pengesahan js:
gspan.html
<html> <head> <title>表单验证实例</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-" /> <script src="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> <form method="post" action="reg.php" onsubmit="return regs('click')" > 用户名:<input type="text" name="username" /><span class="stats">用户名不能为空</span><br/> 邮箱:<input type="text" name="email" /><span class="stats">邮箱不能为空</span><br/> 密码:<input type="password" name="password" /><span class="stats">密码不能为空</span><br/> 确认密码:<input type="password" name="chkpass" /><span class="stats">密码不能为空</span><br/> <input type="submit" /> </form> </body> </html>
check.js
function gspan(cobj){ //获取表单后的span 标签 显示提示信息 if (cobj.nextSibling.nodeName != 'SPAN'){ gspan(cobj.nextSibling); } else { return cobj.nextSibling; } } //检查表单 obj【表单对象】, info【提示信息】 fun【处理函数】 click 【是否需要单击, 提交时候需要触发】 function check(obj, info, fun, click){ var sp = 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; //页面载入完执行 function regs(click){ var stat = 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 <=){ return true; } else { stat = false; return false; } }, click); check(password, "密码必须在-位之间", function(val){ if (val.match(/^\S+$/) && val.length >= && val.length <=){ return true; } else { stat = false; return false; } }, click); check(chkpass, "确定密码要和上面一致,规则也要相同", function(val){ if (val.match(/^\S+$/) && val.length >= && val.length <= && val == password.value){ return true; } else { stat = false; return false; } }, click); check(email, "请按邮箱规则输入", function(val){ if (val.match(/\w+@\w+\.\w/)){ return true; } else { stat = false; return false; } }, click); return stat; }