regex.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import { i18n } from "@/stores";
  2. /**
  3. * 表单验证规则
  4. */
  5. export const validateRules = {
  6. password: {
  7. validate: (val: string) => /^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?!([^(0-9a-zA-Z)])+$)^.{6,64}$/.test(val),
  8. message: i18n.global.t('regex.password'),
  9. },
  10. phone: {
  11. validate: (val: string) => /^$|^1[3456789]\d{9}$/.test(val),
  12. message: i18n.global.t('regex.phone'),
  13. },
  14. email: {
  15. validate: (val: string) => /^$|^([a-zA-Z]|[0-9])(\w)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/.test(val),
  16. message: i18n.global.t('regex.email'),
  17. },
  18. en: {
  19. validate: (val: string) => /^[A-Za-z]+$/.test(val),
  20. message: i18n.global.t('regex.en'),
  21. },
  22. enname: {
  23. validate: (val: string) => /^[a-zA-Z0-9_]{1,}$/.test(val),
  24. message: i18n.global.t('regex.enname'),
  25. },
  26. cardno: {
  27. validate: (val: string) => /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/.test(val),
  28. message: i18n.global.t('regex.cardno'),
  29. },
  30. bankcardno: {
  31. validate: (val: string) => /^([1-9]{1})(\d{11}|\d{15}|\d{16}|\d{17}|\d{18})$/.test(val),
  32. message: i18n.global.t('regex.bankcardno'),
  33. }
  34. }