formRules.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /**
  2. * Copyright [2022] [https://www.xiaonuo.vip]
  3. * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
  4. * 1.请不要删除和修改根目录下的LICENSE文件。
  5. * 2.请不要删除和修改Snowy源码头部的版权声明。
  6. * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
  7. * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
  8. * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
  9. * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
  10. */
  11. export const required = (message, trigger = ['blur', 'change']) => ({
  12. required: true,
  13. message,
  14. trigger
  15. })
  16. // 常用正则规则大全:https://any86.github.io/any-rule/
  17. // 表单上面使用参照菜单管理的 title 字段,例如:-> title: [required('请输入菜单名称'), rules.horizontalChart]
  18. export const rules = {
  19. phone: {
  20. pattern: /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/,
  21. message: '请填写符合要求的11位手机号',
  22. trigger: 'blur'
  23. },
  24. email: {
  25. pattern: /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/,
  26. message: '请填写正确的邮箱号',
  27. trigger: 'blur'
  28. },
  29. idCard: {
  30. pattern:
  31. /(^\d{8}(0\d|10|11|12)([0-2]\d|30|31)\d{3}$)|(^\d{6}(18|19|20)\d{2}(0[1-9]|10|11|12)([0-2]\d|30|31)\d{3}(\d|X|x)$)/,
  32. message: '请填写符合要求的身份证号',
  33. trigger: 'blur'
  34. },
  35. lettersNum: {
  36. pattern: /^[A-Za-z0-9]+$/,
  37. message: '填写内容须是字母或数字组成',
  38. trigger: 'blur'
  39. },
  40. number: {
  41. pattern: /^\d{1,}$/,
  42. message: '填写内容必须是纯数字',
  43. trigger: 'blur'
  44. },
  45. price: {
  46. pattern: /(?:^[1-9]([0-9]+)?(?:\.[0-9]{1,2})?$)|(?:^(?:0)$)|(?:^[0-9]\.[0-9](?:[0-9])?$)/,
  47. message: '只支持正数金额',
  48. trigger: 'blur'
  49. },
  50. horizontalChart: {
  51. pattern: /^[^-]*$/,
  52. message: '不可包含横杠 “-”'
  53. },
  54. initialNotBackslashChart: {
  55. pattern: /^(?!\/)[\s\S]*$/,
  56. message: '首字母不可出现反斜杠 “/”'
  57. },
  58. initialYesBackslashChart: {
  59. pattern: /^\/[^/].*$/,
  60. message: '首字母必须是反斜杠 “/”'
  61. },
  62. mustBeLetters: {
  63. pattern: /^[a-zA-Z]+$/,
  64. message: '输入内容必须是英文字母'
  65. }
  66. }