非常实用的js验证框架实现源码 附原理方法
本文为大家分享一个很实用的js验证框架实现源码,供大家参考,具体内容如下
关键方法和原理:
functioncheck(thisInput)方法中的 if(!eval(scriptCode)){ returnfalse; }
调用示例:
<inputtype="text"class="text_fieldpercentCheck"name="progress_payment_two"id="progress_payment_two"inputName="进度款2比例(%)"validate="isNumeric;notNull"maxLength="350"value=""/>
验证时会自动调用:isNumeric方法和notNull方法并返回验证的结果信息。
varConfigValidateInfoType="writeAlert";//支持writeAlert和writePage,"writePage;writeAlert" varrmTempStatusIsAlert=false; varrmTempStatusIsFocus=false; varbeginValidate=true; varset_All_Venus_Inputs_Default=true; String.prototype.trim=function(){returnthis.replace(/(^\s*)|(\s*$)/g,"");} functioncheckAllForms(){ varcheckResult=true; rmTempStatusIsAlert=false; rmTempStatusIsFocus=false; setAllVenusInputsDefault(); for(vari=0;i<document.forms.length;i++){ for(varj=0;j<document.forms[i].elements.length;j++){ varthisInput=document.forms[i].elements[j]; if(thisInput.type!="hidden"&&thisInput.type!="button"&&!(thisInput.id.indexOf("TF_")>=0&&thisInput.id.indexOf("_TF")>0)&&thisInput.clientWidth!=0&&thisInput.style&&thisInput.style.display!='none'){ /* if(validateStr!=null&&validateStr.length>0){ if(thisInput.tagName=='TEXTAREA'&&srcstr!=''){ srcstr=replaceEnter(srcstr); if(thisInput.maxLength!=null&&thisInput.maxLength>0){ if(getStrLength(srcstr)>thisInput.maxLength){ writeValidateInfo(thisInput,"焦点处输入长度超长\n请确保输入长度在"+frm.maxLength+"以内"); returnfalse; } } } } */ if(thisInput.id&&thisInput.id.indexOf("supplier_id_ref_")!=-1&&document.getElementById("unionDiv")&&document.getElementById("unionDiv").style.display=="none"){ continue; } varrtValue=check(thisInput); if(checkResult&&rtValue==false){ checkResult=false; break; } } } } returncheckResult; } functioncheck(thisInput){ varvalidateStr=thisInput.validate; if(validateStr==null){ returntrue; } varinputValue=thisInput.value; if(beginValidate){ varvalidateTemp=newArray(); validateTemp=validateStr.split(';'); for(vari=0;i<validateTemp.length;i++){ if(validateTemp[i].length==0){ continue; } s=replaceSingleQuote(inputValue); try{ varscriptCode="javascript:"+validateTemp[i];//"javascript:"+validateTemp[i]+"('"+s+"',"+"thisInput)" if(validateTemp[i].indexOf("(")<0||validateTemp[i].indexOf(")")<0){ scriptCode="javascript:"+validateTemp[i]+"(s,thisInput)" } if(!eval(scriptCode)){ returnfalse; } }catch(e){ alert("校验函数"+validateTemp[i]+"有异常,请检查!"+"\n"+e.message); returnfalse; } } } returntrue; } functionsetAllVenusInputsDefault(){ varfrmslen=document.forms.length; for(vari=0;i<frmslen;i++){ varinslen=document.forms[i].elements.length; for(varj=0;j<inslen;j++){ varfrm=document.forms[i].elements[j] if(frm.type!="hidden"&&frm.type!="button"&&!(frm.id.indexOf("TF_")>=0&&frm.id.indexOf("_TF")>0)){ if(frm.validate!=null){ setVenusInputDefault(frm); writeValidateInfoAfterObject("",frm); } } } } returntrue; } functionsetVenusInputDefault(_frm){ _frm.style.borderStyle=""; _frm.style.borderColor=""; if(_frm.value!=null){ _frm.style.backgroundColor=""; _frm.style.color=""; } } functionreplaceEnter(_str){ /**替换换行回车字符**/ varstr=_str; str=str.replace('\n','') str=str.replace('\r','') //alert(str.indexOf('\n')) if(str.indexOf('\n')!=-1&&str.indexOf('\r')!=-1){ returnreplaceEnter(str); }else{ returnstr; } } functionreplaceSingleQuote(_str){ /**替换换行回车字符**/ varstr=_str; str=str.replace('\\','\\u005C'); str=str.replace('\'','\\u0027'); str=str.replace('(','\\u0028'); str=str.replace(')','\\u0029'); str=str.replace('\"','\\u0022'); str=str.replace(';','\\u0038'); //str=Jtrim(str); returnstr; } functionisContains(_validateStr,_validator){ for(vari=0;i<_validateStr.length;i++) { if(_validateStr[i]==_validator) returntrue; } returnfalse; } functionwriteValidateInfo(info,thisObj){ varinputName=getInputNameFromObject(thisObj); info=inputName+"的输入有误!\n"+info; if(ConfigValidateInfoType.indexOf("writePage")>=0){ writeValidateInfoAfterObject(info,thisObj); } if(ConfigValidateInfoType.indexOf("writeAlert")>=0){ writeValidateInfoAlert(info,thisObj); } if(!rmTempStatusIsFocus){ setVenusInputError(thisObj); rmTempStatusIsFocus=true; } } functionsetVenusInputError(_frm){ try{ //_frm.click();//click会导致文件上传错误 _frm.focus(); //由于SELCET不支持内容选择,且不用内容选择,所以特殊处理,防止报错 //修改:李岳2009-11-12 if(_frm.tagName!="SELECT"){ _frm.select(); } _frm.style.borderStyle="dashed"; _frm.style.borderColor="rgb(255,50,0)"; if(_frm.value!=null&&_frm.value.length>0){ _frm.style.backgroundColor="highlight"; _frm.style.color="white"; } }catch(e){ alert(e.message); } } functionwriteValidateInfoAlert(info,thisObj){ if(!rmTempStatusIsAlert){ alert(info); rmTempStatusIsAlert=true; } } functionwriteValidateInfoAfterObject(info,thisObj){//写校验信息 varvalidateInfoObj=null; thisObj=getValidatePosition(thisObj); if(thisObj.nextSibling!=null&&thisObj.nextSibling.nextSibling!=null &&thisObj.nextSibling.tagName!=null&&thisObj.nextSibling.tagName.toUpperCase()=="FONT" &&thisObj.nextSibling.nextSibling.tagName.toUpperCase()=="SPAN"&&thisObj.nextSibling.nextSibling.className=="font_remain_prompt"){ validateInfoObj=thisObj.nextSibling.nextSibling; }else{ thisObj.insertAdjacentHTML("afterEnd","<font></font><spanclass=font_remain_prompt></span>"); validateInfoObj=thisObj.nextSibling.nextSibling; } if(validateInfoObj.innerHTML.length>0||info.length>0){ validateInfoObj.innerHTML=info; } } functiongetValidatePosition(thisObj){ if(thisObj.nextSibling!=null&&thisObj.nextSibling.className=="refButtonClass"){ thisObj=getValidatePosition(thisObj.nextSibling); }elseif(thisObj.nextSibling!=null&&thisObj.nextSibling.type=="hidden"){ thisObj=getValidatePosition(thisObj.nextSibling); } returnthisObj; } functiongetInputNameFromObject(thisInput){ varinputName=thisInput.inputName; if(inputName==null||inputName.length==0){ inputName=thisInput.name; if(inputName==null||inputName.length==0){ inputName=""; } } returninputName; } functiongetStrLength(str){ varlen=0; for(vari=0;i<str.length;i++){ if(str.charCodeAt(i)>255) len+=2; else len++; } returnlen; } /********************************************************************** *ranminvalidate ***********************************************************************/ functionnotNull(s,thisInput){//不能为空 //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){ } s=s.trim(); if(s.length==0){ writeValidateInfo("不能为空或空格!",thisInput); returnfalse; } vars=Jtrim(s); if(s.length==0){ writeValidateInfo("不能为空或空格!",thisInput); returnfalse; } returntrue; } functionisJine(s,thisInput){//不能为空 vara=/^[0-9]*(\.[0-9]{1,2})?$/; if(!a.test(s)){ writeValidateInfo("有非法字符或者小数点位数超过两位",thisInput); returnfalse; }else{ returntrue; } } functionisMobile(s,thisInput){//是手机号码:必须以数字开头,除数字外,可含有“-” //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){ } s=s.trim(); if(s.length==0){ returntrue; } varobj=newArray() obj[0]="13"; obj[1]="14"; obj[2]="15"; obj[3]="18"; if(s!=null){ if(s.length!=11){ writeValidateInfo('请输入合法的手机号码!',thisInput); returnfalse; } varmob=0; for(varint=0;int<obj.length;int++){ if(s.substring(0,2)==obj[int]){ mob=mob+1; } } if(mob==0){ writeValidateInfo('请输入合法的手机号码!',thisInput); returnfalse; } } varpatrn=/^[+]{0,1}(\d){1,3}[]?([-]?((\d)|[]){1,12})+$/; if(!patrn.exec(s)){ writeValidateInfo('请输入合法的手机号码!',thisInput); returnfalse; } returntrue; } functionisPostalCode(s,thisInput){//是邮政编码 //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){ } s=s.trim(); if(s.length==0){ returntrue; } varpatrn=/^[a-zA-Z0-9]{3,12}$/; if(!patrn.exec(s)){ writeValidateInfo('请输入合法的邮政编码!',thisInput); returnfalse; } returntrue; } functionisTel(s,thisInput){//是电话普通电话、传真号码:可以“+”开头,除数字外,可含有“-” //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){ } s=s.trim(); if(s.length==0){ returntrue; } varpatrn=/^[+]{0,1}(\d){1,3}[]?([-]?((\d)|[]){1,12})+$/; if(!patrn.exec(s)){ writeValidateInfo('请输入合法的电话号码!',thisInput); returnfalse } returntrue; } functionisTelForFax(s,thisInput){//是电话普通电话、传真号码:可以“+”开头,除数字外,可含有“-” //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){ } s=s.trim(); if(s.length==0){ returntrue; } varpatrn=/^(\d){3,4}[-](\d){7,8}$/; if(!patrn.exec(s)){ writeValidateInfo('请输入合法的座机号码,例如:010-88888888!',thisInput); returnfalse } returntrue; } functionisFax(s,thisInput){//是电话普通电话、传真号码:可以“+”开头,除数字外,可含有“-” //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){ } s=s.trim(); if(s.length==0){ returntrue; } varpatrn=/^(\d){3,4}[-](\d){7,8}$/; if(!patrn.exec(s)){ writeValidateInfo('请输入合法的传真号码,例如:010-88888888!',thisInput); returnfalse } returntrue; } functionisChinese(s,thisInput){//是中文 //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){ } s=s.trim(); if(s.length==0){ returntrue; } varret=ischinese(s); if(!ret){ writeValidateInfo("请输入中文",thisInput); returnret; } returnret; } functionnotChinese(s,thisInput){//不含中文 //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){ } s=s.trim(); if(s.length==0){ returntrue; } varret=ischinese(s); if(ret){ writeValidateInfo("不能输入中文",thisInput); returnfalse; } returntrue; } functionisNum(s,thisInput){//是数字 //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){ } s=s.trim(); if(s.length==0){ returntrue; } vardigits="0123456789"; vari=0; varsLength=s.length; while((i<sLength)){ varc=s.charAt(i); if(digits.indexOf(c)==-1){ writeValidateInfo("请输入数字!",thisInput); returnfalse; } i++; } returntrue; } functionisNumBigtoZero(s,thisInput){//是数字 //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){ } s=s.trim(); if(s.length==0){ returntrue; } vardigits="0123456789"; vari=0; varsLength=s.length; while((i<sLength)){ varc=s.charAt(i); if(digits.indexOf(c)==-1){ writeValidateInfo("请输入数字!",thisInput); returnfalse; } i++; } try{ if(thisInput.value<=0){ writeValidateInfo("输入数值必须大于零!",thisInput); returnfalse; } }catch(e){ } returntrue; } functionisEmail(s,thisInput){//是电子邮件 //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){ } s=s.trim(); if(s.length==0){ returntrue; } if(s.length>100){ writeValidateInfo("email地址长度不能超过100位!",thisInput); returnfalse; } varregu=/^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[0-9a-zA-Z]+))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|NET|com|COM|gov|GOV|mil|MIL|org|ORG|edu|EDU|int|INT)$/; if(regu.exec(s)){ returntrue; }else{ writeValidateInfo("请输入有效合法的E-mail地址!",thisInput); returnfalse; } } functionisIP(){//是IP varpatrn=/^[0-9.]{1,20}$/; if(!patrn.exec(s)){ writeValidateInfo('请输入IP值!',thisInput); returnfalse } returntrue; } /********************************************************************** *VenusWebJavaScriptCode:HTC校验notNull ***********************************************************************/ functionnotNullWithoutTrim(s,thisInput){//是"" //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){ } s=s.trim(); if(s.length==0){ writeValidateInfo('请输入,该项不能为空!',thisInput); returnfalse; } returntrue; } functionisInteger(str,thisInput){//是整数 //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){ } str=str.trim(); if(str.length==0){ returntrue; } varreg="0123456789"; for(vari=0;i<str.length;i++){ varm=str.charAt(i); if(reg.indexOf(m)==-1){ writeValidateInfo('请输入整数!',thisInput); returnfalse; } } returntrue; } functionisNormalStrOnWeb(s,thisInput){//是普通字符(非html标记) if(s.substring(0,1)=="<"||s.substring(0,1)=="\>"||s.substring(0,1)==""){ writeValidateInfo("焦点处不能以<或\>或空格开头",thisInput); returnfalse; } if(!HoldCode(s)){ writeValidateInfo("焦点处不能输入全角\"·\"/\"—\"/\"——\"字符",thisInput); returnfalse; } if(s.trim().length>0){ if(s.indexOf("\"")>-1){ writeValidateInfo("焦点处不能输入双引号!!",thisInput); returnfalse; } if(s.indexOf("\'")>-1){ writeValidateInfo("焦点处不能输入单引号",thisInput); returnfalse; } if(s.indexOf("\\")>-1){ writeValidateInfo("焦点处不能输入'\\'",thisInput); returnfalse; } } returntrue; } //基本函数列表 functionJtrim(str){//去空隔函数 vari=0; varlen=str.length; if(str=="")return(str); varj=len-1; varflagbegin=true; varflagend=true; while(flagbegin==true&&i<len){ if(str.charAt(i)==""){ i=i+1; flagbegin=true; }else{ flagbegin=false; } } while(flagend==true&&j>=0){ if(str.charAt(j)==""){ j=j-1; flagend=true; }else{ flagend=false; } } if(i>j) return(""); vartrimstr=str.substring(i,j+1); returntrimstr; } functionisNumber(s){//数字判断函数 s=s.trim(); if(s.length==0){ returntrue; } vardigits="0123456789"; vari=0; varsLength=s.length; while((i<sLength)){ varc=s.charAt(i); if(digits.indexOf(c)==-1){ returnfalse; } i++; } returntrue; } functionischinese(s){//判断是否中文函数 varret=true; for(vari=0;i<s.length;i++) ret=ret&&(s.charCodeAt(i)>=10000); returnret; } /********************************************************************** *VenusWebJavaScriptCode:HTC表单通用检验(完善中) ***********************************************************************/ functionHoldCode(str){ for(vari=0;i<str.length;i++){ if(str.charCodeAt(i)==8212||str.charCodeAt(i)==183){ returnfalse; } } returntrue; } functionvalidateForm(current_form){ for(vari=0;i<current_form.length;i++){ if(current_form[i].type=="text"||current_form[i].type=="radio"){ if(current_form[i].value.substring(0,1)=="<"||current_form[i].value.substring(0,1)=="\>"||current_form[i].value.substring(0,1)==""){ alert("焦点处不能以<或\>或空格开头"); current_form[i].focus(); current_form[i].select(); returnfalse; } if(getStrLength(current_form[i].value)>current_form[i].maxLength){ alert("焦点处输入长度超长\n请确保输入长度在"+current_form[i].maxLength+"以内"); current_form[i].focus(); current_form[i].select(); returnfalse; } if(!HoldCode(current_form[i].value)){ alert("焦点处不能输入全角\"·\"/\"—\"/\"——\"字符"); current_form[i].focus(); current_form[i].select(); returnfalse; } if(!is_empty(current_form[i].value)){ if(current_form[i].name=="scriptDefine"){ returntrue; } if(current_form[i].value.indexOf("\"")>-1){ alert("焦点处不能输入双引号"); current_form[i].focus(); current_form[i].select(); returnfalse; } } } } returntrue; } functioncheckNumber(s,inputName){ try{ //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){ } s=s.trim(); if(s.length==0){ returntrue; } varthisObj=event.srcElement; varmaxLength=thisObj.integerDigits; varscale=thisObj.decimalDigits; returncheckNumberImpl(s,maxLength,scale); }catch(e){ } } functioncheckNumberImpl(s,maxLength,scale){//校验运行里程,小数,整数部分最多为10-2 if(s==""){ returntrue; } if(scale==undefined){ scale=0; } if(maxLength==undefined){ maxLength=38; } if(!isFloatNumber(s)){ returnfalse; } if(s.indexOf(".")>0){ if(s.indexOf(".")<=maxLength&&(Math.round(s*(pow(10,scale)))<(pow(10,(maxLength+scale))))){ returntrue; }else{ alert("整数部分最大为"+(maxLength-scale)+"位!"); returnfalse; } }else{ if(s.length<=maxLength){ returntrue; }else{ alert("整数部分最大为"+maxLength+"位!!"); returnfalse; } } } functionisFloatNumber(s,inputName){//判断是否 //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){ } s=s.trim(); if(s.length==0){ returntrue; } vardigits="0123456789."; vari=0; varsLength=s.trim().length; while((i<sLength)){ varc=s.charAt(i); if(digits.indexOf(c)==-1){ writeValidateInfo("请输入有效数字!",inputName); returnfalse; } i++; } if(s.indexOf(".")!=s.lastIndexOf(".")){ alert("小数点不对,请输入有效数字!"); returnfalse; }else{ returntrue; } } functionisSearch(s,thisInput){//不能输入非法字符 if(s.length==0) returntrue; varpatrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;'\,.<>/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:;'\,.<>?]{0,5000}$/; varpatrn2=/[^\{\|\.\\,<>"'_}/]/; if(!patrn.exec(s)||!patrn2.exec(s)){ writeValidateInfo('输入项中含非法字符,请重新输入!',thisInput); returnfalse; } returntrue; } //=============================================================================================== /** *验证数字(正整数或者包含小数的数字). */ functionisNumeric(value,thisInput){ //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){ } value=value.trim(); if(value.length==0){ returntrue; } varreg=/^\d+(\.\d+)?$/; if(!reg.test(value)){ writeValidateInfo("请输入正整数或者小数!",thisInput); returnfalse; } returntrue; } /** *验证数字(正整数). */ functioncheckInt(value,thisInput){ //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){ } value=value.trim(); if(value.length==0){ returntrue; } varreg=/^[0-9]\d*$/; if(!reg.test(value)){ writeValidateInfo("请输入正整数!",thisInput); returnfalse; } returntrue; } /** *验证数字(整数位最大为10位,可以带小数) */ functionvalidateNumericAndLength(value,thisInput){ //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){ } value=value.trim(); if(value.length==0){ returntrue; } varreg=/^\d{1,10}(\.\d+)?$/; if(!reg.test(value)){ writeValidateInfo("请输入正整数或者小数(整数位只能有10位)!",thisInput); returnfalse; } returntrue; } /** *验证数字(18,2) */ functionisNum18p2(value,thisInput){ //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){} value=value.trim(); if(value.length==0){ returntrue; } varreg=/^(-)?\d{1,16}(\.\d{1,2})?$/; if(!reg.test(value)){ writeValidateInfo("请输入数字(整数位最多16位,小数位最多2位)!",thisInput); returnfalse; } returntrue; } /** *验证数字(18,4) */ functionisNum18p4(value,thisInput){ //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){} value=value.trim(); if(value.length==0){ returntrue; } varreg=/^(-)?\d{1,14}(\.\d{1,4})?$/; if(!reg.test(value)){ writeValidateInfo("请输入数字(整数位最多14位,小数位最多4位)!",thisInput); returnfalse; } returntrue; } /** *验证数字(5,2) */ functionisNum5p2(value,thisInput){ //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){} value=value.trim(); if(value.length==0){ returntrue; } varreg=/^(-)?\d{1,3}(\.\d{1,2})?$/; if(!reg.test(value)){ writeValidateInfo("请输入数字(整数位最多3位,小数位最多2位)!",thisInput); returnfalse; } returntrue; } /** *验证Email. */ functioncheckEmail(value,thisInput){ //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){ } value=value.trim(); if(value.length==0){ returntrue; } varreg=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; if(!reg.test(value)){ writeValidateInfo("请输入正确的Email地址!",thisInput); returnfalse; } returntrue; } /** *验证身份证(15位或者18位身份证). */ functioncheckIdCard(value,thisInput){ //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){ } value=value.trim(); if(value.length==0){ returntrue; } varreg=/^\d{15}(\d{2}[A-Za-z0-9])?$/; if(!reg.test(value)){ writeValidateInfo("请输入正确的身份证号码!",thisInput); returnfalse; } returntrue; } /** *验证邮政编码. */ functioncheckPostCode(value,thisInput){ //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){ } value=value.trim(); if(value.length==0){ returntrue; } varreg=/^[0-9]\d{5}$/; if(!reg.test(value)){ writeValidateInfo("请输入正确的邮政编码!",thisInput); returnfalse; } returntrue; } /** *验证是否为中文字符. */ functioncheckChinese(value,thisInput){ //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){ } value=value.trim(); if(value.length==0){ returntrue; } varreg=/^[\u0391-\uFFE5]+$/; if(!reg.test(value)){ writeValidateInfo("请输入中文字符!",thisInput); returnfalse; } returntrue; } /** *验证是否为非法字符. */ functioncheckInvalidString(value,thisInput){ varreg=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;'\,.<>/?]*$/; if(!reg.exec(value)){ writeValidateInfo("输入的字符中包含特殊字符,请重新输入!",thisInput); returnfalse; } returntrue; } functioncheckMoney(s,inputName){ //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){ } s=s.trim(); if(s.length==0){ returntrue; } if(s==""){ writeValidateInfo("金额不能为空!",inputName); returnfalse; } if(isFloatNumber(s,inputName)==false){ writeValidateInfo("非法金额值!",inputName); returnfalse; } varmaxLength=10; varscale=2; returncheckNumberImpl(s,maxLength,scale,inputName); } /** *校验分数是否在0-100 */ functionisAdultAge(str,thisInput){//是整数 //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){ } str=str.trim(); if(str.length==0){ returntrue; } if(parseInt(str)<0||parseInt(str)>100){ writeValidateInfo('请输入合法分数(0--100之间)!',thisInput); returnfalse; } returntrue; } /** *6级强度设置(数字、大写字母、小写字母、特殊字符、长度>=6、长度>=10) *如果密码为空,返回0 */ functionpwdStrength(pwd){ varsum=[0,0,0]; for(vari=0;i<pwd.length;i++){ varc=pwd.charCodeAt(i); if(c>=48&&c<=57)//数字 sum[0]=1; elseif(c>=65&&c<=90)//大写字母 sum[1]=1; elseif(c>=97&&c<=122)//小写字母 sum[1]=1; else//特殊字符 sum[2]=1; } varlevel=sum[0]+sum[1]+sum[2]; if(pwd.length>=8)level++; returnlevel; } functionisBiggerZero(value,thisInput){//已经是数字,然后必须大于0 if(thisInput.value<=0){ writeValidateInfo('请输入一个大于零的数字!',thisInput); returnfalse; } returntrue; } functionisNonnegative(value,thisInput){ if(thisInput.value<0){ writeValidateInfo('请输入一个非负的数字!',thisInput); returnfalse; } returntrue; } /** *验证数字(20,6) */ functionisNum20p6(value,thisInput){ //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){} value=value.trim(); if(value.length==0){ returntrue; } varreg=/^(-)?\d{1,14}(\.\d{1,6})?$/; if(!reg.test(value)){ writeValidateInfo("请输入数字(整数位最多14位,小数位最多6位)!",thisInput); returnfalse; } returnisBiggerZero(value,thisInput); } /** *验证数字(18,6) */ functionisNum18p6(value,thisInput){ //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){} value=value.trim(); if(value.length==0){ returntrue; } varreg=/^(-)?\d{1,12}(\.\d{1,6})?$/; if(!reg.test(value)){ writeValidateInfo("请输入数字(整数位最多12位,小数位最多6位)!",thisInput); returnfalse; } returnisBiggerZero(value,thisInput); } functionisNonnegative20p6(value,thisInput){ //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){} value=value.trim(); if(value.length==0){ returntrue; } varreg=/^(-)?\d{1,14}(\.\d{1,6})?$/; if(!reg.test(value)){ writeValidateInfo("请输入数字(整数位最多14位,小数位最多6位)!",thisInput); returnfalse; } returnisNonnegative(value,thisInput); } /** *验证数字(20,4) */ functionisNum20p4(value,thisInput){ //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){} value=value.trim(); if(value.length==0){ returntrue; } varreg=/^(-)?\d{1,16}(\.\d{1,4})?$/; if(!reg.test(value)){ writeValidateInfo("请输入数字(整数位最多16位,小数位最多4位)!",thisInput); returnfalse; } returnisBiggerZero(value,thisInput); } /** *供应商输入的单批次保证金金额只能是正整数并且只能精确到百位 */ functionisDPCBZJ(value,thisInput){ //去掉空格 try{ thisInput.value=thisInput.value.trim(); }catch(e){ } value=value.trim(); if(value.length==0){ returntrue; } varreg=/^[1-9]\d*00$/; if(!reg.test(value)){ writeValidateInfo("请输入正确的保证金金额!",thisInput); returnfalse; } returntrue; } //报表招标年度起始年度不能大于终止年度的判断 functionvalidateYear(startYear,endYear,flag){ if(startYear>endYear){ if(flag==1){ alert("起始月份不能大于终止月份"); returnfalse; }else{ alert("招标起始年度不能大于终止年度"); returnfalse; } } returntrue; }
以上就是本文的全部内容,希望对大家学习JavaScript程序设计有所帮助。