📄 checkvalue.js
字号:
*返回处理后的字符串/********************************** zmx 2005.10.06*************************************/function replaceStr(str, sFnd, sRep) { var sTmp = ""; var endIndex = 0; var beginIndex = 0; var len = sFnd.length; while (endIndex >= 0) { endIndex = str.indexOf(sFnd ,beginIndex); if (endIndex >= 0) { sTmp += str.substring(beginIndex, endIndex) + sRep; beginIndex = endIndex + len; }else if (beginIndex >= 0) { sTmp += str.substring(beginIndex); break; } } return sTmp;}/********************************** zmx 2005.10.06*************************************//*替换字符串中的逗号 *返回值:*返回处理后的字符串/********************************** zmx 2005.10.06*************************************/function replaceCommas(str) { if (str == "") return str; str = replaceStr(str, "'", "'"); str = replaceStr(str, '"', '"'); return str;}/********************************** zmx 2005.10.06*************************************//*校验输入内容中特殊符号*返回值:*如果通过,返回true*如果校验未通过,返回false/********************************** zmx 2005.10.06*************************************/function checkEngNum(str) { if( str == null || str == "" ) return true; var c = new RegExp(); c = /^[\d|a-zA-Z]+$/; if (c.test(str)){ return true; }else{ return false; }}/********************************** zmx 2005.10.06*************************************//*校验电话号码是否正确*返回值:*如果校验未通过,返回false*如果校验通过,返回true/********************************** zmx 2005.10.06*************************************/function checkPhone(str) { if( str == null || str == "" ) return true; var i = str.indexOf("--"); var len = str.length; if (i >= 0) return false; i = str.indexOf("-"); if ((i == 0) || (i == len - 1)) { return false; }else if (i > 0) { i = str.lastIndexOf("-"); if (i == len - 1) return false; str = removeChar(str, "-"); } if (!checkNumnum(str)) { return false; }else { return true; }}/********************************** zmx 2005.10.06*************************************//*校验字符串是否为email型*返回值:*如果为空,定义校验通过, 返回true*如果字串为email型,校验通过, 返回true*如果email不合法, 返回false 参考提示信息:Email的格式不正確!/********************************** zmx 2005.10.06*************************************/function checkEmail(str){ var i; var len = str.length; if(str == "") return true; //如果为空,则通过校验 var chkStr = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-_@."; if ((str.indexOf("@") <= 0) || (str.indexOf("@") == len - 1) || (str.indexOf(".") == len - 1) || (str.indexOf("@.") > 0) || (str.indexOf(".@") > 0) || (str.charAt(len - 1) == "@") || (str.charAt(len - 1) == ".") || (str.indexOf("@@") > 0) || (str.indexOf("..") > 0)) { return false; } if (str.indexOf("@", str.indexOf("@") + 1) > 0) return false; for (i = 0; i < len; i++) { if (chkStr.indexOf(str.charAt(i)) < 0) return false; } return true;}/********************************** zmx 2005.10.06*************************************//*校验IP地址格式 *参数:ip:ip地址值*返回值:*如果校验未通过,返回false*如果校验通过,返回正确ip地址/********************************** zmx 2005.10.06*************************************/function checkip(ip){ var scount=0; var iplength = ip.length; var Letters = "1234567890."; for (i=0; i < ip.length; i++){ var CheckChar = ip.charAt(i); if (Letters.indexOf(CheckChar) == -1){ alert ("IP地址格式不对!!,只能输入数字和“.”,格式为XXX.XXX.XXX.XXX 例如:192.168.0.1"); return false; } } for (var i = 0;i<iplength;i++) (ip.substr(i,1)==".")?scount++:scount; if(scount!=3){ alert ("IP地址格式不对!,只能输入数字和“.”,格式为XXX.XXX.XXX.XXX 例如:192.168.0.1"); return false; } first = ip.indexOf("."); last = ip.lastIndexOf("."); str1 = ip.substring(0,first); subip = ip.substring(0,last); sublength = subip.length; second = subip.lastIndexOf("."); str2 = subip.substring(first+1,second); str3 = subip.substring(second+1,sublength); str4 = ip.substring(last+1,iplength); if (str1=="" || str2=="" ||str3== "" ||str4 == ""){ alert("数字不能为空!格式为XXX.XXX.XXX.XXX 例如:192.168.0.1"); return false; } if (str1 < 0 || str1 > 255 || str2 < 0 || str2 > 255 ||str3< 0 || str3 >255 ||str4< 0 || str4 >255){ alert ("数字范围为0~255!"); return false; } if(str1.length==1) str1="00"+str1; if(str1.length==2) str1="0"+str1; if(str2.length==1) str2="00"+str2; if(str2.length==2) str2="0"+str2; if(str3.length==1) str3="00"+str3; if(str3.length==2) str3="0"+str3; if(str4.length==1) str4="00"+str4; if(str4.length==2) str4="0"+str4; return str1+"."+str2+"."+str3+"."+str4; } /********************************** zmx 2005.10.06*************************************//*过滤页面上的空格*参数:oFrm:传入要处理的form*将form中的值全部过滤掉空格/********************************** zmx 2005.10.06*************************************/function trimItems(oFrm) { var i = 0; var type = ""; for (i=0; i<oFrm.elements.length; i++) { type = oFrm.elements[i].type; if ((type == "text") || (type == "textarea")) { oFrm.elements[i].value = trim(oFrm.elements[i].value); } }}/********************************** zmx 2005.10.05*************************************//*去掉空格*参数:str:传入的参数值*返回过滤后的参数值/********************************** zmx 2005.10.05*************************************/function trimNull(str){ var len = str.length ; var i= 0 ; var j = len-1 ; for(;i<len;i++){ if (str.charAt(i)==' ') { continue; }else{ break; } } if (i==len) return ''; //全是空格 for(;j>i;j--) { if (str.charAt(j)==' ') { continue; }else{ break; } } return str.substring(i,j+1);}/********************************** zmx 2005.10.05*************************************//*必须录入校验*参数:obj:界面的对象,用于setfocus用;msg:传入错误的提示信息*返回值:*如果为空,返回false*如果校验通过 返回true/********************************** zmx 2005.10.05*************************************/function checkIsNull(obj,msg){ if (trimNull(obj.value) == ""){//调用trimNull()过滤空格 alert("请输入" + msg); obj.focus(); return false; } return true;}/********************************** zmx 2005.10.05*************************************//*身份证号校验*参数:obj:界面的对象,用于setfocus用;idcard:传入参数值*返回值:*如果为空,返回false*如果校验未通过,返回false*如果校验通过 返回true/********************************** zmx 2005.10.05*************************************/function checkIdcard(obj,idcard){ if(idcard == "") return true;//如果为空,则通过校验 var Errors=new Array("验证通过!","身份证号码位数不对!","身份证号码出生日期超出范围或含有非法字符!","身份证号码校验错误!","身份证地区非法!"); var area={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"} var idcard,Y,JYM; var S,M; var idcard_array = new Array(); idcard_array = idcard.split(""); //地区检验 if(area[parseInt(idcard.substr(0,2))]==null) { alert(Errors[4]); return false; } //身份号码位数及格式检验 switch(idcard.length){ case 15: if ( (parseInt(idcard.substr(6,2))+1900) % 4 == 0 || ((parseInt(idcard.substr(6,2))+1900) % 100 == 0 && (parseInt(idcard.substr(6,2))+1900) % 4 == 0 )){ ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/;//测试出生日期的合法性 } else { ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/;//测试出生日期的合法性 } if(ereg.test(idcard)) {//校验通过 return true; }else{ alert(Errors[2]); return false; } break; case 18://18位身份号码检测 //出生日期的合法性检查 //闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9])) //平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8])) if ( parseInt(idcard.substr(6,4)) % 4 == 0 || (parseInt(idcard.substr(6,4)) % 100 == 0 && parseInt(idcard.substr(6,4))%4 == 0 )){ ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/;//闰年出生日期的合法性正则表达式 } else { ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/;//平年出生日期的合法性正则表达式 } if(ereg.test(idcard)){//测试出生日期的合法性 //计算校验位 S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7 + (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9 + (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10 + (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5 + (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8 + (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4 + (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2 + parseInt(idcard_array[7]) * 1 + parseInt(idcard_array[8]) * 6 + parseInt(idcard_array[9]) * 3 ; Y = S % 11; M = "F"; JYM = "10X98765432"; M = JYM.substr(Y,1);//判断校验位 if(M == idcard_array[17]) {//检测ID的校验位通过 return true; }else{ alert(Errors[3]); return false; } }else{ alert(Errors[2]); return false; } break; default: alert(Errors[1]); return false; break; } return true;}/********************************** zmx 2005.10.05*************************************//*将15的身份证号升为18位*参数:obj:界面的对象,用于setfocus用;idcard:传入参数值*返回值:*如果为空,返回false*如果校验未通过,返回false*如果校验通过 返回18位身份证号 /********************************** zmx 2005.10.05*************************************/function ID15T18(obj,idcard){ var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'); var nTemp = 0, i; if (checkIsNull(obj, "身份证号") == false) return false;//调用checkIsnul()判断是否为空 if (checkIdcard(obj,idcard)== false) return false;//调用checkIdcard()判断输入是否正确 if(idcard.length==15){ idcard = idcard.substr(0,6) + '19' + idcard.substr(6,idcard.length-6); for(i = 0; i < idcard.length; i ++){ nTemp += idcard.substr(i, 1) * arrInt[i]; } idcard += arrCh[nTemp % 11]; return idcard; }else{ alert("身份证号已经为18位"); return false; } } /*****************文件类型************//********************************** zmx 2005.10.06*************************************//*过滤掉文件路径,取得文件名*参数:fullpath:传入文件路径*返回值:*返回文件名/********************************** zmx 2005.10.06*************************************/function getFileName(fullpath){ var platform = navigator.platform; var fileseperator=(platform.indexOf("Win")==-1)?"/":"\\"; var idx = fullpath.lastIndexOf(fileseperator); if(idx == -1){ return fullpath; }else if(idx >= fullpath.length -1){ return ""; }else{ return fullpath.substring(idx+1); }}/********************************** zmx 2005.10.06*************************************//* 得到文件的后缀名* oFile为file控件对象/********************************** zmx 2005.10.06*************************************/function getFilePostfix(oFile){ if(oFile == null) return null; var pattern = /(.*)\\.(.*)$/gi; if(typeof(oFile) == "object"){ if(oFile.value == null || oFile.value == "") return null; var arr = pattern.exec(oFile.value); return RegExp.$2; }else if(typeof(oFile) == "string"){ var arr = pattern.exec(oFile); return RegExp.$2; }else{ return null; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -