wms-validator-helper.js 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. /*
  2. * 描 述:数据验证完整性
  3. */
  4. (function ($, learun) {
  5. "use strict";
  6. // 数据验证方法
  7. learun.validator = {
  8. validReg: function (obj, reg, msg) {
  9. var res = { code: true, msg: '' };
  10. if (!reg.test(obj)) {
  11. res.code = false;
  12. res.msg = msg;
  13. }
  14. return res;
  15. },
  16. validRegOrNull: function (obj, reg, msg) {
  17. var res = { code: true, msg: '' };
  18. if (obj == null || obj == undefined || obj.length == 0) {
  19. return res;
  20. }
  21. if (!reg.test(obj)) {
  22. res.code = false;
  23. res.msg = msg;
  24. }
  25. return res;
  26. },
  27. isNotNull: function (obj) {// 验证不为空
  28. var res = { code: true, msg: '' };
  29. obj = $.trim(obj);
  30. if (obj == null || obj == undefined || obj.length == 0) {
  31. res.code = false;
  32. res.msg = '不能为空';
  33. }
  34. return res;
  35. },
  36. isNum: function (obj) {// 验证数字
  37. return learun.validator.validReg(obj, /^[-+]?\d+$/, '必须为数字');
  38. },
  39. isNumOrNull: function (obj) {// 验证数字 或者空
  40. return learun.validator.validRegOrNull(obj, /^[-+]?\d+$/, '数字或空');
  41. },
  42. isEmail: function (obj) {//Email验证 email
  43. return learun.validator.validReg(obj, /^\w{3,}@\w+(\.\w+)+$/, '必须为E-mail格式');
  44. },
  45. isEmailOrNull: function (obj) {//Email验证 email 或者null,空
  46. return learun.validator.validRegOrNull(obj, /^\w{3,}@\w+(\.\w+)+$/, '必须为E-mail格式或空');
  47. },
  48. isEnglishStr: function (obj) {//验证只能输入英文字符串 echar
  49. return learun.validator.validReg(obj, /^[a-z,A-Z]+$/, '必须为英文字符串');
  50. },
  51. isEnglishStrOrNull: function (obj) {//验证只能输入英文字符串 echar 或者null,空
  52. return learun.validator.validRegOrNull(obj, /^[a-z,A-Z]+$/, '必须为英文字符串或空');
  53. },
  54. isTelephone: function (obj) { //验证是否电话号码 phone
  55. return learun.validator.validReg(obj, /^(\d{3,4}\-)?[1-9]\d{6,7}$/, '必须为电话格式');
  56. },
  57. isTelephoneOrNull: function (obj) {//验证是否电话号码 phone或者null,空
  58. return learun.validator.validRegOrNull(obj, /^(\d{3,4}\-)?[1-9]\d{6,7}$/, '必须为电话格式或空');
  59. },
  60. isMobile: function (obj) {//验证是否手机号 mobile
  61. return learun.validator.validReg(obj, /^(\+\d{2,3}\-)?\d{11}$/, '必须为手机格式');
  62. },
  63. isMobileOrnull: function (obj) {//验证是否手机号 mobile或者null,空
  64. return learun.validator.validRegOrNull(obj, /^(\+\d{2,3}\-)?\d{11}$/, '必须为手机格式或空');
  65. },
  66. isMobileOrPhone: function (obj) {//验证是否手机号或电话号码 mobile phone
  67. var res = { code: true, msg: '' };
  68. if (!learun.validator.isTelephone(obj).code && !learun.validator.isMobile(obj).code) {
  69. res.code = false;
  70. res.msg = '为电话格式或手机格式';
  71. }
  72. return res;
  73. },
  74. isMobileOrPhoneOrNull: function (obj) {//验证是否手机号或电话号码 mobile phone或者null,空
  75. var res = { code: true, msg: '' };
  76. if (learun.validator.isNotNull(obj).code && !learun.validator.isTelephone(obj).code && !learun.validator.isMobile(obj).code) {
  77. res.code = false;
  78. res.msg = '为电话格式或手机格式或空';
  79. }
  80. return res;
  81. },
  82. isUri: function (obj) {//验证网址 uri
  83. return learun.validator.validReg(obj, /^http:\/\/[a-zA-Z0-9]+\.[a-zA-Z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/, '必须为网址格式');
  84. },
  85. isUriOrNull: function (obj) {//验证网址 uri或者null,空
  86. return learun.validator.validRegOrNull(obj, /^http:\/\/[a-zA-Z0-9]+\.[a-zA-Z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/, '必须为网址格式或空');
  87. },
  88. isDate: function (obj) {//判断日期类型是否为YYYY-MM-DD格式的类型 date
  89. return learun.validator.validReg(obj, /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/, '必须为日期格式');
  90. },
  91. isDateOrNull: function (obj) {//判断日期类型是否为YYYY-MM-DD格式的类型 date或者null,空
  92. return learun.validator.validRegOrNull(obj, /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/, '必须为日期格式或空');
  93. },
  94. isDateTime: function (obj) {//判断日期类型是否为YYYY-MM-DD hh:mm:ss格式的类型 datetime
  95. return learun.validator.validReg(obj, /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/, '必须为日期时间格式');
  96. },
  97. isDateTimeOrNull: function (obj) {//判断日期类型是否为YYYY-MM-DD hh:mm:ss格式的类型 datetime或者null,空
  98. return learun.validator.validRegOrNull(obj, /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/, '必须为日期时间格式');
  99. },
  100. isTime: function (obj) {//判断日期类型是否为hh:mm:ss格式的类型 time
  101. return learun.validator.validReg(obj, /^((20|21|22|23|[0-1]\d)\:[0-5][0-9])(\:[0-5][0-9])?$/, '必须为时间格式');
  102. },
  103. isTimeOrNull: function (obj) {//判断日期类型是否为hh:mm:ss格式的类型 time或者null,空
  104. return learun.validator.validRegOrNull(obj, /^((20|21|22|23|[0-1]\d)\:[0-5][0-9])(\:[0-5][0-9])?$/, '必须为时间格式或空');
  105. },
  106. isChinese: function (obj) {//判断输入的字符是否为中文 cchar
  107. return learun.validator.validReg(obj, /^[\u0391-\uFFE5]+$/, '必须为中文');
  108. },
  109. isChineseOrNull: function (obj) {//判断输入的字符是否为中文 cchar或者null,空
  110. return learun.validator.validRegOrNull(obj, /^[\u0391-\uFFE5]+$/, '必须为中文或空');
  111. },
  112. isZip: function (obj) {//判断输入的邮编(只能为六位)是否正确 zip
  113. return learun.validator.validReg(obj, /^\d{6}$/, '必须为邮编格式');
  114. },
  115. isZipOrNull: function (obj) {//判断输入的邮编(只能为六位)是否正确 zip或者null,空
  116. return learun.validator.validRegOrNull(obj, /^\d{6}$/, '必须为邮编格式或空');
  117. },
  118. isDouble: function (obj) {//判断输入的字符是否为双精度 double
  119. return learun.validator.validReg(obj, /^[-\+]?\d+(\.\d+)?$/, '必须为小数');
  120. },
  121. isDoubleOrNull: function (obj) {//判断输入的字符是否为双精度 double或者null,空
  122. return learun.validator.validRegOrNull(obj, /^[-\+]?\d+(\.\d+)?$/, '必须为小数或空');
  123. },
  124. isIDCard: function (obj) {//判断是否为身份证 idcard
  125. return learun.validator.validReg(obj, /^\d{15}(\d{2}[A-Za-z0-9;])?$/, '必须为身份证格式');
  126. },
  127. isIDCardOrNull: function (obj) {//判断是否为身份证 idcard或者null,空
  128. return learun.validator.validRegOrNull(obj, /^\d{15}(\d{2}[A-Za-z0-9;])?$/, '必须为身份证格式或空');
  129. },
  130. isIP: function (obj) {//判断是否为IP地址格式
  131. var res = { code: true, msg: '' };
  132. var reg = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g //匹配IP地址的正则表达式
  133. var flag = false;
  134. if (reg.test(obj)) {
  135. if (RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256 && RegExp.$4 < 256) { flag = true };
  136. }
  137. if (!flag) {
  138. res.code = false;
  139. res.msg = '必须为IP格式';
  140. }
  141. return res;
  142. },
  143. isIPOrNull: function (obj) {//判断是否为IP地址格式 或者null,空
  144. var res = { code: true, msg: '' };
  145. if (learun.validator.isNotNull(obj) && !learun.validator.isIP(obj).code) {
  146. res.code = false;
  147. res.msg = '必须为IP格式或空';
  148. }
  149. return res;
  150. },
  151. isLenNum: function (obj, n) {//验证是否是n位数字字符串编号 nnum
  152. var res = { code: true, msg: '' };
  153. var reg = /^[0-9]+$/;
  154. obj = $.trim(obj);
  155. if (obj.length > n || !reg.test(obj)) {
  156. res.code = false;
  157. res.msg = '必须为' + n + '位数字';
  158. }
  159. return res;
  160. },
  161. isLenNumOrNull: function (obj, n) {//验证是否是n位数字字符串编号 nnum或者null,空
  162. var res = { code: true, msg: '' };
  163. if (learun.validator.isNotNull(obj).code && !learun.validator.isLenNum(obj)) {
  164. res.code = false;
  165. res.msg = '必须为' + n + '位数字或空';
  166. }
  167. return res;
  168. },
  169. isLenStr: function (obj, n) {//验证是否小于等于n位数的字符串 nchar
  170. var res = { code: true, msg: '' };
  171. obj = $.trim(obj);
  172. if (!learun.validator.isNotNull(obj).code || obj.length > n) {
  173. res.code = false;
  174. res.msg = '必须小于等于' + n + '位字符';
  175. }
  176. return res;
  177. },
  178. isLenStrOrNull: function (obj, n) {//验证是否小于等于n位数的字符串 nchar或者null,空
  179. var res = { code: true, msg: '' };
  180. obj = $.trim(obj);
  181. if (learun.validator.isNotNull(obj).code && obj.length > n) {
  182. res.code = false;
  183. res.msg = '必须小于等于' + n + '位字符或空';
  184. }
  185. return res;
  186. }
  187. };
  188. })(window.jQuery, top.learun);