wwwc
(wwwc)
高级会员

高级会员
UID 19456
精华
2
积分 947
帖子 900
金钱 927 喜悦币
威望 20
人脉 0
阅读权限 50
注册 2003-4-9
状态 离线
|
[广告]: Enom域名自助付费 自助注册 自助PUSH 主流域名COM等一律57.99元年
打造最简单的JS验证!
我的JS不标准,大家见效了,我一直在用在IE上,前年的时候当时公司做网页,经常要验证很多东西,要写很多验证函数,麻烦死了我就写了一个专门来做验证的!以后免得写怎么复杂了!
<?php var form_info = []; //验证信息 //得到ID function $(id){ return document.getElementById(id); } //得到表单对象 function form_getform(id){ if(typeof(id)=="object"){ return id; }else if($(id)){ return $(id); }else{ return document.forms[0]; } } //表单验证设置 function form_setfiled(name,type,value,msg){ for(var i=0;i<form_info.length;i++){ if(form_info[i][0]==name){ form_info[i] = new Array(name,type,value,msg); return true; } } form_info[form_info.length] = new Array(name,type,value,msg); } //表单验证函数 function form_validate(form){ form = form_getform(form); for(var i=0;i<form_info.length;i++){ if(form[form_info[i][0]]){ if(form_info[i][1] == "reg"){ var reg=0; ;try{ eval('reg=form[form_info[i][0]].value.match(/^'+form_info[i][2]+'$/)==null;'); if(reg){ alert(form_info[i][3]); form[form_info[i][0]].focus(); return false; } }catch(e){ alert('reg=form[form_info[i][0]].value.match(/^'+form_info[i][2]+'$/)==null;'); return false; } }else if(form_info[i][1] == "exe"){ var logic=0; ;try{ eval('logic=('+form_info[i][2].replace(/$/g,'form[form_info[i][0]].value')+');'); if(logic){ alert(form_info[i][3]); form[form_info[i][0]].focus(); return false; } }catch(e){ alert('logic=('+form_info[i][2].replace(/$/g,'form[form_info[i][0]].value')+');'); return false; } } } } return true; } ?> 我说下当时代码为什么要怎么
form_getform(form)看起来可能没什么用,当时我写的时候的却遇到这个问题!
form里的onsubmit得到当前的表单对象用(this)就行,当时表单外面用这个却麻烦,要么标识一个ID,如果没标识呢,于是这里我就偷懒写了个form_getform(form),obsubmi里form_getform(this)可以,其他地方设置了ID的话form_getform('login'),如果没设置就用第几个表单form_getform(0)或者form_getform('')都可以.2form_validate的原理是遍历表单的元素,再根据form_info里的验证数据来判断!
简单应用例子
<?php form_setfiled('username','reg','w{3,15}','用户名称不合法'); form_setfiled('password','exe','$.length<2','密码至少两个字'); form_setfiled('title','exe','$.length<10','标题不能为空,至少10个字'); 这些都定义公用文件里,如果是用户登录验证你之需要 onsubmit="form_validate(this)"就行了! 如果是文章输入验证,你只要 onsubmit="form_validate(this)"就行了! 如果是.... 你只要onsubmit="form_validate(this)"就行了! 如果你加了什么多的验证呢。公用文件加几个form_setfield就行了! ?> 就说到这了吧,别嫌弃我代码栏,明白我说的意思就行了,思想才是最重要的!
|
|