本文共 2662 字,大约阅读时间需要 8 分钟。
表单对象:(属于DOM对象的子对象)
验证:前后台都需要验证
form上有个onsubmit():提交事件,当单击提交按钮时发生的事件。在数据传到服务器之前
HTML代码:
JS代码:
function getSpan(obj) { //获取下一个span while(true) { if (obj.nextSibling.nodeName != "SPAN") { obj = obj.nextSibling; } else { return obj.nextSibling } }}function check(obj,info,fun,click){ //检查方法 obj.onfocus=function () { var sp=getSpan(obj); sp.innerHTML=info; sp.className="stats2"; } obj.onblur=function () { var sp=getSpan(obj); if (fun(this.value)) { sp.innerHTML="输入正确"; sp.className="stats4"; }else{ sp.innerHTML=info; sp.className="stats3"; } } if (click=="click") { obj.onblur(); }}onload=rpg;//页面加载完自动调用function rpg(click) { var stat=true; var username=document.getElementsByName("username")[0]; var password=document.getElementsByName("password")[0]; var repass=document.getElementsByName("repass")[0]; var email=document.getElementsByName("email")[0]; var other=document.getElementsByName("other")[0]; check(username,"用户名的长度在3~20之间",function (val) { if(val.match(/^\S+$/)&&val.length>=3&&val.length<=20) return true; else stat=false; return false; },click); check(password,"密码长度为6~20",function (val) { if(val.match(/^\S+$/)&&val.length>=6&&val.length<=20) return true; else stat=false; return false; },click); check(repass,"确认密码一致",function (val) { if(val.match(/^\S+$/)&&val.length>=6&&val.length<=20&&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); check(password,"密码长度为6~20",function (val) { if(val.match(/^\S+$/)&&val.length>=6&&val.length<=20) return true; else stat=false; return false; }.click); return stat;}
运行结果:
转载地址:http://xvmgn.baihongyu.com/