当前位置:   article > 正文

【js】各类前端输入校验方法

【js】各类前端输入校验方法

使用方式:

源码:

  1. //电话号码
  2. export const checkModbile = (rule,value,callback)=>{
  3. if(value == undefined)
  4. {
  5. callback();
  6. return;
  7. }
  8. if(value.length === 11){
  9. var reg = /^1[3,4,5,6,7,8,9][0-9]{9}$/;
  10. }else if(value.length === 13 || value.length === 8 || value.length === 7){
  11. var reg = /^(?:(?:\d{3}-)?\d{8}|^(?:\d{4}-)?\d{7,8})(?:-\d+)?$/;
  12. }else{
  13. var reg = /^1[3,4,5,6,7,8,9][0-9]{9}$/;
  14. }
  15. if(value===''){
  16. callback(new Error('电话号码不能为空'))
  17. }else if (!reg.test(value)) {
  18. callback(new Error('请输入正确的电话号码'))
  19. }else{
  20. callback()
  21. }
  22. }
  23. //邮箱
  24. export const checkEmil = (rule, value, callback) => {
  25. let regTest = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
  26. if (!value) {
  27. callback()
  28. } else {
  29. if (!regTest.test(value)) {
  30. callback(new Error("电子邮箱格式不正确"));
  31. return;
  32. }
  33. callback();
  34. }
  35. };
  36. //统一社会码
  37. export const checkSocialcode = (rule, value, callback) => {
  38. var regTest = /^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/;
  39. if (!value) {
  40. callback()
  41. } else {
  42. if (!regTest.test(value)) {
  43. callback(new Error("统一社会信用代码格式不正确"));
  44. return;
  45. }
  46. callback();
  47. }
  48. };
  49. //身份证
  50. export const checkID = (rule, value, callback) => {
  51. var regTest = /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/ ;
  52. if (!value) {
  53. callback()
  54. } else {
  55. if (!regTest.test(value)) {
  56. callback(new Error("身份证格式不正确"));
  57. return;
  58. }
  59. callback();
  60. }
  61. };
  62. //名称长度
  63. export const checkNamelength = (rule, value, callback) => {
  64. var regTest = 255
  65. if(value.length == 0){
  66. callback(new Error("公司名称不能为空"));
  67. } else if(value.length <= regTest) {
  68. callback()
  69. }else {
  70. callback(new Error("公司名称长度不能超过255个字符"));
  71. return;
  72. }
  73. callback();
  74. };
  75. //联系人长度
  76. export const checkLxrlength = (rule, value, callback) => {
  77. var regTest = 255
  78. if(value.length == 0){
  79. callback(new Error("联系人不能为空"));
  80. } else if(value.length <= regTest) {
  81. callback()
  82. }else {
  83. callback(new Error("联系人长度不能超过255个字符"));
  84. return;
  85. }
  86. callback();
  87. };
  88. export const checklength = (rule, value, callback) => {
  89. var regTest = 255
  90. if(value.length == 0){
  91. callback(new Error("不能为空"));
  92. } else if(value.length <= 255) {
  93. callback()
  94. }else {
  95. callback(new Error("长度不能超过255个字符"));
  96. return;
  97. }
  98. callback();
  99. };
  100. //建设规模
  101. export const checkJSGM = (rule, value, callback) => {
  102. let regExp = /^\d*\.{0,8}\d{0,8}$/;
  103. if (value === "" || value === null || regExp.test(value) === false) {
  104. callback(new Error("请填写建设规模且只能填写数字"));
  105. } else {
  106. callback();
  107. }
  108. };
  109. // 数字小数点前后位数
  110. export const testNumber = (rule,value,callback,)=>{
  111. /* rule中:
  112. integer: 8,//整数位
  113. decimal: 4,//小数位*/
  114. if(value == undefined)
  115. {
  116. callback();
  117. return;
  118. }
  119. let newarr = value.toString().split("");
  120. if(newarr.length >1 && newarr[0] == 0 && !newarr.includes(".")) {
  121. callback(new Error("首位不能为0"));
  122. } else if(newarr.includes(".")){
  123. let int = value.toString().split(".")[0];
  124. let dec = value.toString().split(".")[1];
  125. if (int.length > rule.integer) {
  126. callback(new Error("整数位不能大于" + rule.integer + "位"));
  127. }
  128. if (dec.length > rule.decimal) {
  129. callback(new Error("小数位不能大于" + rule.decimal + "位"));
  130. }
  131. callback();
  132. }else {
  133. if (newarr.length > rule.integer) {
  134. callback(new Error("整数位不能大于" + rule.integer + "位"));
  135. } else {
  136. callback();
  137. }
  138. }
  139. }
  140. // 银行卡账号校验
  141. export const testBankCard = (rule,value,callback,)=> {
  142. let newNumber = value.toString().split("");
  143. if(newNumber.length === 0){
  144. callback(new Error("银行账号不能为空"));
  145. }else if(newNumber.length<16){
  146. callback(new Error("请填写正确的银行卡账号"));
  147. }
  148. let cardNum = /^[1-9]\d{9,29}$/ ;
  149. if (value === "" || value === null || cardNum.test(value) === false) {
  150. callback(new Error("请填写正确的银行卡账号"));
  151. } else {
  152. callback();
  153. }
  154. }
  155. //校验字符
  156. export const checkCommon = (rule,value,callback,)=>{
  157. /**
  158. rule中:
  159. tipWord: 提示字段名 String
  160. wordLength: (最大)长度信息 Number
  161. wordMinLength: 最小长度信息,可不填,即无最小字符长度限制
  162. **/
  163. let newArr = value.toString().split("");
  164. if(rule.wordMinLength){
  165. if(newArr.length < rule.wordMinLength) {
  166. callback( rule.tipWord + "长度不能低于" + rule.wordMinLength + "个字符")
  167. }
  168. }
  169. if(rule.required === true && newArr.length === 0){
  170. callback(new Error(rule.tipWord + "不能为空"));
  171. } else if(newArr.length >= rule.wordLength) {
  172. callback( rule.tipWord + "长度不能超过" + rule.wordLength + "个字符")
  173. }
  174. callback();
  175. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/1021052
推荐阅读
相关标签
  

闽ICP备14008679号