1.// 是否为空,非空返回真,不非为空返回假 2.function isBlank(str) { 3. var blankFlag = true; 4. if (str.length == 0) return true; 5. for (var i = 0; i < str.length; i++) { 6. if ((str.charAt(i) != "") && (str.charAt(i) != " ")) { 7. blankFlag = false; 8. break; 9. } 10. } 11. return blankFlag; 12.} 13.function checkNotNull(theField, fieldName) { 14. if(isBlank(theField.value)){ 15. alert(fieldName + "不可为空!"); 16. if(theField.type!="hidden"){ 17. theField.focus(); 18. } 19. return false; 20. } 21. return true; 22.} 23. 24.// 是否为数字 25.function checkNumber(theField, fieldName) { 26. var pattern = /^([0-9]|(-[0-9]))[0-9]*((\.[0-9]+)|([0-9]*))$/; 27. if(theField.value.trim() == "") return true; 28. if (!pattern.test(theField.value.trim())) { 29. alert(fieldName + "必须为合法数字"); 30. theField.focus(); 31. theField.select(); 32. return false; 33. } 34. 35. return true; 36.} 37. 38.function isNumber(str) { 39. var pattern = /^([0-9]|(-[0-9]))[0-9]*((\.[0-9]+)|([0-9]*))$/; 40. if(str.trim() == "") return false; 41. if (!pattern.test(str.trim())) return false; 42. return true; 43.} 44. 45.// 是否为指定范围数字 46.function checkNumberRange(theField, fieldName, min, max) { 47. if(theField.value.trim() == "") return true; 48. if (!checkNumber(theField, fieldName)) return false; 49. 50. if ((min != "") && (theField.value.trim() < min)) { 51. alert(fieldName + "不可小于" + min + "!"); 52. theField.focus(); 53. theField.select(); 54. return false; 55. } 56. 57. if ((max != "") && (theField.value.trim() > max)) { 58. alert(fieldName + "不可超过" + max + "!"); 59. theField.focus(); 60. theField.select(); 61. return false; 62. } 63. 64. return true; 65.} 66. 67.function isNumberRange(str, min, max) { 68.if(str == "") return false; 69. if (!isNumber(str)) return false; 70. 71. if ((min != "") && (str < min)) { 72. return false; 73. } 74. 75. if ((max != "") && (str > max)) { 76. return false; 77. } 78. 79. return true; 80.} 81. 82.// 是否为整数 83.function checkInteger(theField, fieldName) { 84. var pattern = /^(\d|(-\d))\d*$/; 85. 86. if(theField.value.trim() == "") return true; 87. if (!pattern.test(theField.value.trim())) { 88. alert(fieldName + "必须为整数!"); 89. theField.focus(); 90. theField.select(); 91. return false; 92. } 93. 94. return true; 95.} 96. 97.function isInteger(str) { 98. var pattern = /^(\d|(-\d))\d*$/; 99. 100. if(str.trim() == "") return false; 101. if (!pattern.test(str.trim())) { 102. return false; 103. } 104. return true; 105.} 106. 107.// 是否为指定范围内整数 108.function checkIntegerRange(theField, fieldName, min, max) { 109. if(theField.value.trim() == "") return true; 110. if (!checkInteger(theField, fieldName)) return false; 111. 112. if ((min != "") && (theField.value.trim() < min)) { 113. alert(fieldName + "不可小于" + min + "!"); 114. theField.focus(); 115. theField.select(); 116. return false; 117. } 118. 119. if ((max != "") && (theField.value.trim() > max)) { 120. alert(fieldName + "不可超过" + max + "!"); 121. theField.focus(); 122. theField.select(); 123. return false; 124. } 125. 126. return true; 127.} 128. 129.function isIntegerRange(str, min, max) { 130. if(str == "") return false; 131. if (!isInteger(str)) return false; 132. 133. if ((min != "") && (str < min)) { 134. return false; 135. } 136. 137. if ((max != "") && (str > max)) { 138. return false; 139. } 140. 141. return true; 142.} 143. 144.// 是否为正数 145.function checkPositiveNumber(theField, fieldName) { 146. if(theField.value == "") return true; 147. if (theField.value.charAt(0) == '-') { 148. alert(fieldName + "必须为正数!"); 149. theField.focus(); 150. return false; 151. } 152. 153. return true; 154.}
1.// 是否规定的浮点数,包括小数点前的位数和小数点后的位数,beforeDec是小数点前的位数,afterDec是小数点后的为数 2.function checkDecimalNumber(theField, fieldName, beforeDec, afterDec){ 3. if (theField.value == "") return true; 4. var pattern ="/^(|[+-]?(0|([1-9]\\d{0,"+(beforeDec-1)+"})|((0|([1-9]\\d{0,"+(beforeDec-1)+"}))?\\.\\d{1,"+afterDec+"})){1,1})$/"; 5. if (!eval(pattern).test(theField.value)) { 6. alert(fieldName + "必须为合法数字,允许小数点前"+beforeDec+"位和小数点后"+afterDec+"位之内"); 7. theField.focus(); 8. theField.select(); 9. return false; 10. } 11. return true; 12.} 13. 14.//使用 prototype 为 String 对象增加一个新方法 length2,找出字符串中有多少个汉字,然后将这个数字加上 length 的值就是我们想要的结果了。 15.String.prototype.length2 = function() { 16. var cArr = this.match(/[^\x00-\xff]/ig); 17. return this.length + (cArr == null ? 0 : cArr.length); 18.} 19.// 限制字串最大长度 20.function checkLength(theField, fieldName, maxLength) { 21. if(theField.value == "") return true; 22. if (theField.value.length2() > maxLength) { 23. alert(fieldName + "的字数最多为" + maxLength + "字!"); 24. theField.select(); 25. theField.focus(); 26. return false; 27. } 28. 29. return true; 30.} 31. 32.// 限制字串长度,注意参数顺序 33.function checkLength2(theField, fieldName, maxLength, minLength) { 34. if(theField.value == "") return true; 35. if (theField.value.length2() > maxLength) { 36. alert(fieldName + "的字数最多为" + maxLength + "字!"); 37. theField.focus(); 38. return false; 39. } 40. 41. if ((minLength != "") && (theField.value.length2() < minLength)) { 42. alert(fieldName + "的字数最少为" + minLength + "字!"); 43. theField.focus(); 44. return false; 45. } 46. 47. return true; 48.} 49. 50.// 所输入字符串是否均为合法字符 51.// charBag中为包含所有合法字符的字符串 52.function checkStrLegal(theField, fieldName, charBag) { 53. if(theField.value == "") return true; 54. for (var i = 0; i < theField.value.length; i++) { 55. var c = theField.value.charAt(i); 56. if (charBag.indexOf(c) == -1) { 57. alert(fieldName + "含有非法字符(" + c + ")!"); 58. theField.focus(); 59. return false; 60. } 61. } 62. 63. return true; 64.} 65. 66.// 所输入字符串是否均为合法字符 67.// charBag中为包含非法字符的字符串 68.function checkStrLegal2(theField, fieldName, charBag) { 69. if(theField.value == "") return true; 70. for (var i = 0; i < theField.value.length; i++) { 71. var c = theField.value.charAt(i); 72. if (charBag.indexOf(c) > -1) { 73. alert(fieldName + "含有非法字符(" + c +")!"); 74. theField.focus(); 75. return false; 76. } 77. } 78. 79. return true; 80.}
1.// 电子邮件验证 2.function checkEmail(theField) { 3. var pattern = /^.+@.+\..+$/; 4. 5. if(theField.value == "") return true; 6. if (!pattern.test(theField.value)) { 7. alert("请输入合法的电子邮件地址"); 8. theField.focus(); 9. theField.select(); 10. return false; 11. } 12. 13. return true; 14.} 15. 16.// 是否为只读域(如file,text等域只接受右边按钮选择传回的结果) 17.function checkReadField() { 18. alert("请点击后面的图标进行选择"); 19. // this.blur(); 20.} 21./* 22.* RoundTo(Digit,How):数值格式化函数,Digit要格式化的数字,How要保留的小数位数。 23.*/ 24.function RoundTo(Digit,How) 25.{ 26. Digit = Math.round(Digit*Math.pow(10,How))/Math.pow(10,How); 27. return Digit; 28.} 29.//去除字符串的前后空格 30.String.prototype.trim = function() 31.{ 32. return this.replace(/(^\s+)|\s+$/g,""); 33.} 34. 35.//将指定的字段转换为大写 36.function UpperCase(theField){ 37. theField.value = theField.value.toUpperCase(); 38.} 39. 40.//将指定的字段转换为小写 41.function LowerCase(theField){ 42. theField.value = theField.value.toLowerCase(); 43.} 44. 45.//比较两个时间大小,相等或第二个大返回true,第一个大返回false. 46.//现在只支持2005-12-30或2005-12-30 10:00:00的时间格式 47.function DateCompare(theField1,fieldName1,theField2,fieldName2) 48.{ 49. var d1 = theField1.value; 50. var d2 = theField2.value; 51. if (d1==d2) return true; // 相等 52. var a1 = null;var a2 = null; 53. var b1 = null;var b2 = null; 54. if (d1.length==10){ 55. d1 += " 00:00:00"; 56. } 57. a1=d1.substring(0,10).split("-"); 58. a2=d1.substring(11).split(":"); 59. if (d2.length==10){ 60. d2 += " 00:00:00"; 61. } 62. b1=d2.substring(0,10).split("-"); 63. b2=d2.substring(11).split(":"); 64. 65. for (i=0;i<3;i++){ 66. if( a1[i].charAt(0) == '0' ) { a1[i] = a1[i].substring(1,2); } 67. if( b1[i].charAt(0) == '0' ) { b1[i] = b1[i].substring(1,2); } 68. if (parseInt(a1[i])>parseInt(b1[i])){ 69. alert(fieldName1+"不能大于"+fieldName2); 70. return false; 71. } 72. if (parseInt(a1[i])<parseInt(b1[i])){ 73. return true; 74. } 75. } 76. for (i=0;i<3;i++){ 77. if( a2[i].charAt(0) == '0' ) { a2[i] = a2[i].substring(1,2); } 78. if( b2[i].charAt(0) == '0' ) { b2[i] = b2[i].substring(1,2); } 79. if (parseInt(a2[i])>parseInt(b2[i])){ 80. alert(fieldName1+"不能大于"+fieldName2); 81. return false; 82. } 83. if (parseInt(a2[i])<parseInt(b2[i])){ 84. return true; 85. } 86. } 87.} 88. 89.//将给定的字符串中的&字符替换成@@ 90.function ConvertStr(s){ 91. var i; 92. var s2 = s; 93. 94. while(s2.indexOf("&")>0){ 95. i = s2.indexOf("&"); 96. s2 = s2.substring(0, i) + "@@" + s2.substring(i + 1, s2.length); 97. } 98. return s2; 99.} 100. 101.//将给定的字符串中的@@字符替换成& 102.function ReConvertStr(s){ 103. var i; 104. var s2 = s; 105. 106. while(s2.indexOf("@@")>0){ 107. i = s2.indexOf("@@"); 108. s2 = s2.substring(0, i) + "&" + s2.substring(i + 2, s2.length); 109. } 110. return s2; 111.} 112.//将给定的字符串中的单双引号转义 113.function ForamtValue(oStr) 114.{ 115. switch(typeof(oStr)) 116. { 117. case "date" : 118. //直接toString()转换,可以加入丰富的显示方式 119. sStr = (new Date(oStr)).toString(); 120. break; 121. default : 122. sStr = String(oStr); 123. } 124. sStr = sStr.replace(/\"/g,"""); //输入框中显示双引号问题 125. sStr = sStr.replace(/\'/g,"'"); //输入框中显示单引号问题 126. return sStr; 127.}