📄 checkvalue.js
字号:
/********************************** zmx 2005.10.06*************************************/function checkNumnum(str) { var i; var len = str.length; var chkStr = "1234567890"; if (len == 1) { if (chkStr.indexOf(str.charAt(i)) < 0) return false; }else { if ((chkStr.indexOf(str.charAt(0)) < 0)) return false; for (i = 1; i < len; i++) { if (chkStr.indexOf(str.charAt(i)) < 0) return false; } } return true;}/********************************** zmx 2005.10.06*************************************//*校验整型最小值*str:要校验的串。 val:比较的值*返回值:*如果为空,定义校验通过, 返回true*如果满足条件,大于等于给定值,校验通过,返回true*如果小于给定值, 返回false 参考提示信息:输入域不能小于给定值!/********************************** zmx 2005.10.06*************************************/function checkIntMin(str,val){ if(str == "") return true;//如果为空,则通过校验 if(typeof(val) != "string") val = val + ""; if(checkNumnum(str) == true) { if(parseInt(str,10)>=parseInt(val,10)) return true; else return false; }else return false;}/********************************** zmx 2005.10.06*************************************//*校验整型最大值*str:要校验的串。 val:比较的值**返回值:*如果为空,定义校验通过, 返回true*如果满足条件,小于等于给定值,校验通过,返回true*如果大于给定值, 返回false 参考提示信息:输入值不能大于给定值!/********************************** zmx 2005.10.06*************************************/function checkIntMax(str,val){ if(str == "") return true;//如果为空,则通过校验 if(typeof(val) != "string") val = val + ""; if(checkNumnum(str) == true) { if(parseInt(str,10)<=parseInt(val,10)) return true; else return false; }else return false;}/********************************** zmx 2005.10.06*************************************//*校验整型是否为非负数*str:要校验的串。**返回值:*如果为空,定义校验通过,返回true*如果非负数, 返回true*如果是负数, 返回false 参考提示信息:输入值不能是负数!/********************************** zmx 2005.10.06*************************************/function isNotNegativeInteger(str){ if(str == "") return true; //如果为空,则通过校验 if(checkNumnum(str) == true) { if(parseInt(str,10) < 0) return false; else return true; }else return false;}/********************************** zmx 2005.10.06*************************************//*校验是否为浮点型*返回值:*如果校验通过, 返回true*如果校验不通过, 返回false /********************************** zmx 2005.10.06*************************************/function checkFloat(str) { var i; var len = str.length; var chkStr = "1234567890."; if (len == 1) { if (chkStr.indexOf(str.charAt(i)) < 0) return false; } else { if ((chkStr.indexOf(str.charAt(0)) < 0)) return false; for (i = 1; i < len; i++) { if (chkStr.indexOf(str.charAt(i)) < 0) return false; } } return true;}/********************************** zmx 2005.10.06*************************************//*校验是否为浮点型,可以为负数*返回值:*如果校验通过, 返回true*如果校验不通过, 返回false /********************************** zmx 2005.10.06*************************************/function checkFloat2(str) { var i; var len = str.length; var chkStr = "+1234567890.-"; if (len == 1) { if (chkStr.indexOf(str.charAt(i)) < 0) return false; } else { if ((chkStr.indexOf(str.charAt(0)) < 0)) return false; for (i = 1; i < len; i++) { if (chkStr.indexOf(str.charAt(i)) < 0) return false; } } return true;}/********************************** zmx 2005.10.06*************************************//*校验浮点型最小值*str:要校验的串。 val:比较的值**返回值:*如果为空,定义校验通过, 返回true*如果满足条件,大于等于给定值,校验通过,返回true*如果小于给定值, 返回false 参考提示信息:输入域不能小于给定值!/********************************** zmx 2005.10.06*************************************/function checkDoubleMinValue(str,val){ if(str == "") return true;//如果为空,则通过校验 if(typeof(val) != "string") val = val + ""; if(checkFloat(str) == true) { if(parseFloat(str)>=parseFloat(val)) return true; else return false; }else return false;}/********************************** zmx 2005.10.06*************************************//*校验浮点型最大值*str:要校验的串。 val:比较的值**返回值:*如果为空,定义校验通过, 返回true*如果满足条件,小于等于给定值,校验通过,返回true*如果大于给定值, 返回false 参考提示信息:输入值不能大于给定值!/********************************** zmx 2005.10.06*************************************/function checkDoubleMaxValue(str,val){ if(str == "") return true;//如果为空,则通过校验 if(typeof(val) != "string") val = val + ""; if(checkFloat(str) == true) { if(parseFloat(str)<=parseFloat(val)) return true; else return false; }else return false;}/********************************** zmx 2005.10.06*************************************//*校验浮点型是否为非负数*str:要校验的串。**返回值:*如果为空,定义校验通过,返回true*如果非负数, 返回true*如果是负数, 返回false 参考提示信息:输入值不能是负数!/********************************** zmx 2005.10.06*************************************/function isNotNegativeDouble(str){ if(str == "") return true;//如果为空,则通过校验 if(checkFloat(str) == true) { if(parseFloat(str) < 0) return false; else return true; }else return false;}/********************************** zmx 2005.10.06*************************************//*校验小数或整数位数 ,即数值的边界*返回值:*如果校验通过, 返回"Check Success"*如果校验不通过, 返回错误信息retMsg *参数: str:校验内容;precision:整体长度,减去小数为正数长度;scale:小数位数;isNull:0X80;sItemName:字段名称/********************************** zmx 2005.10.06*************************************/function checkFloat1(str, precision, scale, isNull,sItemName){ var retMsg = MSG_CHECK_SUCCESS; var pointPos = str.indexOf("."); if(pointPos < 0){ retMsg = checkItem(str, 0, precision - scale, IS_NUM | isNull);//调用checkItem()校验数值 if(retMsg != MSG_CHECK_SUCCESS){ alert(sItemName + retMsg); return false; } }else{ var integerPart = str.substring(0, pointPos); var decimalPart = str.substring(pointPos + 1, str.length); retMsg = checkItem(integerPart, 0, precision - scale, IS_NUM | isNull);//调用checkItem()校验数值 if(retMsg == MSG_CHECK_SUCCESS){ retMsg = checkItem(decimalPart, 0, scale, IS_NUM | IS_NULL);//调用checkItem()校验数值 if(retMsg != MSG_CHECK_SUCCESS){ retMsg = "的小数部分" + retMsg; alert(sItemName + retMsg); return false; } }else{ retMsg = "的整数部分" + retMsg; alert(sItemName + retMsg); return false; } } return true;}/********************************** zmx 2005.10.06*************************************//*校验输入的内容*返回值:*如果校验通过, 返回MSG_CHECK_SUCCESS = "Check Success";*如果校验不通过, 返回 错误信息 *参数: sCheck:校验的内容;nMinLen:整体长度,减去小数为正数长度或最小长度;nMaxLen:小数位数或最大长度;chkFlg:例如0X80,输入标志/********************************** zmx 2005.10.06*************************************/function checkItem(sCheck, nMinLen, nMaxLen, chkFlg) { var strLen = 0; if ((sCheck == null) || (sCheck == "")) return MSG_CHECK_SUCCESS;//如果为空,则通过校验 if ((nMinLen > 0) || (nMaxLen > 0)) { strLen = sumLen(sCheck); if (nMinLen > 0) { if (nMinLen == nMaxLen) { if (strLen != nMinLen) { if ((chkFlg & 0x08) == 0x08) {return "的长度必须"+ nMinLen + "字节";}else {return "的长度必须小于"+ nMinLen + "字节";} } }else if (strLen < nMinLen) { if ((chkFlg & 0x08) == 0x08) {return "不是数字";}else {return "过于短小,最小长度为"+ nMinLen + "字节";} } } if (nMaxLen > 0) { if (strLen > nMaxLen) { return "超过了最大长度"+ nMaxLen + "字节";} } } if ((chkFlg & 0x10) == 0x10) { if (!checkASCII(sCheck)) return "不正确"; } if ((chkFlg & 0x08) == 0x08) { if (!checkNumnum(sCheck)) return "是数字项目"; } if ((chkFlg & 0x04) == 0x04) { if (!checkDate(sCheck)) return "是日期项目"; } if ((chkFlg & 0x02) == 0x02) { if (!checkPhone(sCheck)) return "不正确"; } if ((chkFlg & 0x01) == 0x01) { if (!checkEmail(sCheck)) return "不正确"; } return MSG_CHECK_SUCCESS;}/********************************** zmx 2005.10.06*************************************//*检查数字中的字符,如果有字符则返回false*返回值:*如果校验通过, 返回true*如果校验不通过, 返回false /********************************** zmx 2005.10.06*************************************/function checkNumberString(value){ if( value == null || value == "" ) return true; var c = new RegExp(); c = /^\d+$/; if (!c.test(value)) return false; else return true;}/*****************字符类型************//********************************** zmx 2005.10.06*************************************//*计算字符串的总长度,一个汉字两个字符/********************************** zmx 2005.10.06*************************************/function sumLen(str){ return str.replace(/[^\x00-\xff]/g,"**").length;}/********************************** zmx 2005.10.06*************************************//*校验字符串是否为中文 ,此方法暂时不好使*返回值:*如果为空,定义校验通过, 返回true*如果字串为中文,校验通过, 返回false*如果字串为非中文, 返回true /********************************** zmx 2005.10.06*************************************/function checkIsChinese(obj,msg,str){ if (str == "") return true; //如果值为空,通过校验 var pattern = /^([\\u4E00-\\u9FA5]|[\\uFE30-\\uFFA0])*$/gi; if (pattern.test(str)){ return true; }else{ alert(msg+"含有汉字1"); obj.focus(); return false; }}/********************************** zmx 2005.10.06*************************************//*校验字符数字符号中是否含有汉字*返回值:*如果校验不含有, 返回true*如果校验含有, 返回false /********************************** zmx 2005.10.06*************************************/function checkASCII(obj,msg,sCheck) { var str = escape(sCheck); var chkStr = "89abcdefABCDEF" var i = str.indexOf("%"); if ((appVer.charAt(0) == 'M') || (appVer > "N4.05")) { while ((i >= 0) && (i < str.length)) { if (str.charAt(i+1) == "u") { alert(msg+"含有汉字"); obj.focus(); return false; } i = str.indexOf("%", i+1); } }else if (appVer.charAt(0) == 'N') { while ((i >= 0) && (i < str.length)) { if (chkStr.indexOf(str.charAt(i+1)) >= 0) { alert(msg+"含有汉字"); obj.focus(); return false; } i = str.indexOf("%", i+1); } } return true;}/********************************** zmx 2005.10.06*************************************//*校验字符长度输入越界 *返回值:*校验通过,返回true*校验未通过,返回false*参数:str:校验内容;scale:最大长度;tag:0X10;msg:字段名称;obj:对象/********************************** zmx 2005.10.06*************************************/function checkMaxLen(obj,msg,str,scale,tag){ if( str == null || str == "" ) return true; var retMsg = MSG_CHECK_SUCCESS; retMsg = checkItem(str, 0, scale, tag);//调用checkItem()校验字节长度 if(retMsg != MSG_CHECK_SUCCESS){ alert(msg + retMsg); obj.focus(); return false; } return true;}/********************************** zmx 2005.10.06*************************************//*去除字符串中的指定字符 *返回值:*返回处理后的字符串*参数:str:字符串;c:要去除的字符/********************************** zmx 2005.10.06*************************************/function removeChar(str, c) { if( str == null || str == "" ) return str; var i = str.indexOf(c); while (i >= 0) { str = str.substring(0, i) + str.substring(i + 1, str.length); i = str.indexOf(c); } return str;}/********************************** zmx 2005.10.08*************************************//*检查空字符/********************************** zmx 2005.10.08*************************************/function checkSpaceChar(c) { return ((c == ' ') || (c == '\t') || (c == ' '));}/********************************** zmx 2005.10.06*************************************//*替换字符串中的指定字符 *返回值:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -