UNPKG

2.2 kBPlain TextView Raw
1export default {
2 /**
3 * 邮编
4 */
5 zip: /^[1-9]\d{5}(?!\d)$/,
6 /**
7 * 邮箱
8 */
9 email: /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/,
10 /**
11 * 中文字符
12 */
13 zh: /^[\u4e00-\u9fa5]+$/gm,
14 /**
15 * 中文名正则
16 */
17 zhName: /^[\u4e00-\u9fa5]{2,15}$/,
18 /**
19 * 网址
20 */
21 url: /^https?:\/\/(([a-zA-Z0-9_-])+(\.)?)*(:\d+)?(\/((\.)?(\?)?=?&?[a-zA-Z0-9_-](\?)?)*)*$/i,
22 /**
23 * 电话号正则,包含手机号、固话号、400电话
24 */
25 phone: /^1[3456789]\d{9}$|^(0[0-9]{2,3}-?)?[0-9]{7,8}$|^400-?\d{3}-?\d{4}$/,
26 /**
27 * 手机号正则
28 */
29 mobilePhone: /^1[3456789]\d{9}$/,
30 /**
31 * 固话正则,包含400电话
32 */
33 telephone: /^(0[0-9]{2,3}-?)?[0-9]{7,8}$|^400-?\d{3}-?\d{4}$/,
34 /**
35 * 身份证正则
36 */
37 idCard: /^(^[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])$)$/,
38 /**
39 * 日期
40 */
41 date: /^(?:(?:1[6-9]|[2-9][0-9])[0-9]{2}([-/.]?)(?:(?:0?[1-9]|1[0-2])\1(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])\1(?:29|30)|(?:0?[13578]|1[02])\1(?:31))|(?:(?:1[6-9]|[2-9][0-9])(?:0[48]|[2468][048]|[13579][26])|(?:16|[2468][048]|[3579][26])00)([-/.]?)0?2\2(?:29))(\s+([01][0-9]:|2[0-3]:)?[0-5][0-9]:[0-5][0-9])?$/,
42 /**
43 * 货币字符
44 */
45 money: /^[+-]?[0-9]+(.{1}[0-9]+){0,1}$/,
46 /**
47 * 数字
48 */
49 number: /^[+-]?\d+$/,
50 /**
51 * 整型数字
52 */
53 integer: /^[+-]?\d+$/,
54 /**
55 * 浮点数
56 */
57 floating: /^[+-]?[0-9]+(.{1}[0-9]+){0,1}$/,
58 /**
59 * 2的倍数
60 */
61 twoTimes: /^([02468]|[13579][13579]*[02468])*$/,
62 /**
63 * 3的倍数
64 */
65 threeTimes: /^([0369]|[258][0369]*[147]|([147]|[258][0369]*[258])([0369]|[147][0369]*[258])*([258]|[147][0369]*[147]))*$/,
66 /**
67 * 4的倍数
68 */
69 fourTimes: (rule, value, callback) => {
70 if (isNaN(value) || value % 4 !== 0) {
71 callback(rule.message)
72 }
73 callback()
74 },
75 fiveTimes: (rule, value, callback) => {
76 if (isNaN(value) || value % 5 !== 0) {
77 callback(rule.message)
78 }
79 callback()
80 },
81 sixTimes: (rule, value, callback) => {
82 if (isNaN(value) || value % 6 !== 0) {
83 callback(rule.message)
84 }
85 callback()
86 },
87}