文档来源:文档来源:做网站的时候,很多地方都是由表单提交组成的,但是有提交的地方都要有验证。客户端验证最简单的方法就是使用JS自定义函数。这个文档包含平时常用的28个验证函数,还有验证函数几种使用方法。JS验证函数的调用方法和注意:1.给表单设置onsubmit=returntest(),配合inputtype=submitname=Submitvalue=check进行提交.2.inputtype=textonkeydown=test();//当鼠标按下直接调用函数验证3.inputtype=textonblur=testl(this.value)//传入自己的值进行验证,test(this)//传入对象本身进行验证4.inputtype=buttonvalue=testonclick=test()//单击Btn进行验证,如果通过则用document.forms[0].submit();进行表单提交5.inputonClick=returntest();type=submitname=submitvalue=提交信息//使用submit进行提交验证,如果test中returnfalse;则不提交返true提交.6.scripttype=javascript....functiontest(){...returnfalse;...}.../script7.||与,&&或,!非8.常用事件:onblur失去焦点,onchange失去焦点并且内容发生改变,onfocus元素获得焦点,onreset当表单中RESET的属性被激发时,onsubmit表单被提交时触发此事件9.验证正则表达式:if(/^[1-9]\d*$/.test(str))返回真则通过,FALSE通不通过10.document.getElementById(ip).value//访问ID的值,document.form1.text1.value//通过name访问11.inputonblur=if(this.value.replace(/^+|+$/g,'')=='')alert('不能为空!')//执行单条正则验证例验证函数:inputtype=textname=text1id=text1onblur=test();value=/1.字符长度限制文档来源:文档来源:(){if(document.form1.text1.value.length50){alert(不能超过50个字符!);document.form1.text1.focus();returnfalse;}}2.只能是英文,字母或数字functiontest(){if(!(event.keyCode=65&&event.keyCode=90)){alert(只能是英文!);document.form1.text1.focus();}}inputonblur=if(/[^0-9a-zA-Z]/g.test(this.value))alert('有错')//字母或数字3.只能是数字文档来源:文档来源:(){if(!((event.keyCode=48&&event.keyCode=57)||(event.keyCode=96&&event.keyCode=105)))//考虑小键盘上的数字键{alert(只能是数字!);document.form1.text1.focus();}}或者functiontest(NUM){vari,j,strTemp;strTemp=0123456789;if(NUM.length==0)return0for(i=0;iNUM.length;i++){j=strTemp.indexOf(NUM.charAt(i));if(j==-1){文档来源:文档来源:(只能是数字!);returnfalse;}}//说明是数字returntrue;}5.验证邮箱(正则,函数)functionisEmail(strEmail){if(strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/)!=-1)returntrue;elsealert(格式错误!);}functionisEmail(){if(document.userinfo.useremail.value.charAt(0)==.||document.userinfo.useremail.value.charAt(0)==@||document.userinfo.useremail.value.indexOf('@',0)==-1||document.userinfo.useremail.value.indexOf('.',0)==-1||文档来源:文档来源:(@)==document.userinfo.useremail.value.length-1||document.userinfo.useremail.value.lastIndexOf(.)==document.userinfo.useremail.value.length-1){alert(Email地址格式不正确!);document.userinfo.useremail.focus();returnfalse;}}inputtype=textonblur=isEmail(this.value);name=text1/6.屏蔽关键字(这里屏蔽***和****)functiontest(){if((document.form1.text1.value.indexOf(***)==0)||(document.form1.text1.value.indexOf(****)==0)){alert(存在关键字);document.form1.text1.focus();returnfalse;}}7.比较两次输入是否相同if(document.userinfo.userpassword.value!=document.userinfo.userpassword1.value){文档来源:文档来源:();document.userinfo.userpassword.value='';document.userinfo.userpassword1.value='';alert(两次输入的密码不同,请重新输入!);returnfalse;}8.判断是否为空或空格组成functiontest(){if(checkspace(document.form1.text1.value)){document.form1.text1.focus();alert(为空或包含空格组成!);returnfalse;}}functioncheckspace(checkstr){varstr='';for(i=0;icheckstr.length;i++){str=str+'';}return(str==checkstr);}文档来源:文档来源:或者:inputonblur=if(this.value.replace(/^+|+$/g,'')=='')alert('不能为空!')//执行单条正则验证例9.验证是否是数字电话,只能是数字和-正则:\d{3}-\d{8}|\d{4}-\d{7}functionistel(elem){varstr=elem.value;varoneDecimal=false;varoneChar=0;str=str.toString();for(vari=0;istr.length;i++){oneChar=str.charAt(i).charCodeAt(0);if(oneChar==45){continue;}if(oneChar48||oneChar57){alert(此项只能输入数字和'-'号.);returnfalse;}}returntrue;}或者functionfucCheckTEL(TEL)文档来源:文档来源:{vari,j,strTemp;strTemp=0123456789-()#;for(i=0;iTEL.length;i++){j=strTemp.indexOf(TEL.charAt(i));if(j==-1){alert(此项只能输入数字和'-'号.);returnfalse;}}//说明合法returntrue;}或者//校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”functionisTel(s){//varpatrn=/^[+]{0,1}(\d){1,3}[]?([-]?(\d){1,12})+$/;varpatrn=/^[+]{0,1}(\d){1,3}[]?([-]?((\d)|[]){1,12})+$/;if(!patrn.exec(s))returnfalse文档来源:文档来源:}或者要求:(1)电话号码由数字、(、)和-构成(2)电话号码为3到8位(3)如果电话号码中包含有区号,那么区号为三位或四位(4)区号用(、)或-和其他部分隔开(5)移动电话号码为11或12位,如果为12位,那么第一位为0(6)11位移动电话号码的第一位和第二位为13(7)12位移动电话号码的第二位和第三位为13根据这几条规则,可以与出以下正则表达式:(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)functionPhoneCheck(s){varstr=s;varreg=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/alert(reg.test(str));}inputtype=textname=text1onblur=istel(this);/文档来源:文档来源:当opt2为1时检查num是否是负数//当opt1为1时检查num是否是小数//返回1是正确的,0是错误的functionchknbr(num,opt1,opt2){vari=num.length;varstaus;//staus用于记录.的个数status=0;if((opt2!=1)&&(num.charAt(0)=='-')){alert(Youha