form-validator.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import { isInputEmpty } from './util'
  2. /**
  3. * 邮箱验证
  4. * @param {*} rule
  5. * @param {*} value
  6. * @param {Function} callback
  7. */
  8. export const emailValidator = (rule, value, callback) => {
  9. const reg = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/
  10. if (isInputEmpty(value) || reg.test(value)) {
  11. callback()
  12. } else {
  13. callback(new Error(rule.message || '请填写正确的邮箱地址'))
  14. }
  15. }
  16. /**
  17. * 身份证号校验
  18. * @param {*} rule
  19. * @param {*} value
  20. * @param {Function} callback
  21. */
  22. export const identityCardValidator = (rule, value, callback) => {
  23. const reg = /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/
  24. if (isInputEmpty(value) || reg.test(value)) {
  25. callback()
  26. } else {
  27. callback(new Error(rule.message || '请填写正确的身份证号'))
  28. }
  29. }
  30. /**
  31. * 手机号校验
  32. * @param {*} rule
  33. * @param {*} value
  34. * @param {Function} callback
  35. */
  36. export const mobilePhoneValidator = (rule, value, callback) => {
  37. const reg = /^(0|86|17951)?(13[0-9]|15[012356789]|166|17[3678]|18[0-9]|14[57]|19[13589])[0-9]{8}$/
  38. if (isInputEmpty(value) || reg.test(value)) {
  39. callback()
  40. } else {
  41. callback(new Error(rule.message || '请填写正确的手机号'))
  42. }
  43. }
  44. /**
  45. * sql语句简单校验校验
  46. * @param {*} rule
  47. * @param {*} value
  48. * @param {Function} callback
  49. */
  50. export const sqlSimpleValidator = (rule, value, callback) => {
  51. const reg = /^select/i
  52. if (isInputEmpty(value) || reg.test(value)) {
  53. callback()
  54. } else {
  55. callback(new Error(rule.message || 'sql语句以select开头'))
  56. }
  57. }