el-plus-crud 0.0.38 → 0.0.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/.eslintrc.js +78 -78
  2. package/.prettierrc.js +39 -39
  3. package/CHANGELOG.md +7 -5
  4. package/build.js +31 -31
  5. package/dist/el-plus-crud.mjs +2750 -2722
  6. package/dist/el-plus-crud.umd.js +14 -14
  7. package/dist/style.css +1 -1
  8. package/example/App.vue +67 -67
  9. package/example/main.js +18 -18
  10. package/index.html +13 -13
  11. package/lib/components/el-plus-form/ElPlusForm.vue +774 -772
  12. package/lib/components/el-plus-form/ElPlusFormDialog.vue +90 -90
  13. package/lib/components/el-plus-form/ElPlusFormGroup.vue +116 -116
  14. package/lib/components/el-plus-form/components/ElPlusFormArea.vue +61 -61
  15. package/lib/components/el-plus-form/components/ElPlusFormAutocomplete.vue +49 -49
  16. package/lib/components/el-plus-form/components/ElPlusFormBtn.vue +102 -102
  17. package/lib/components/el-plus-form/components/ElPlusFormBtns.vue +133 -133
  18. package/lib/components/el-plus-form/components/ElPlusFormCascader.vue +63 -63
  19. package/lib/components/el-plus-form/components/ElPlusFormCascaderPanel.vue +53 -51
  20. package/lib/components/el-plus-form/components/ElPlusFormCheckbox.vue +44 -42
  21. package/lib/components/el-plus-form/components/ElPlusFormCheckboxButton.vue +44 -42
  22. package/lib/components/el-plus-form/components/ElPlusFormColor.vue +38 -38
  23. package/lib/components/el-plus-form/components/ElPlusFormDate.vue +39 -39
  24. package/lib/components/el-plus-form/components/ElPlusFormDaterange.vue +46 -44
  25. package/lib/components/el-plus-form/components/ElPlusFormDatetime.vue +40 -38
  26. package/lib/components/el-plus-form/components/ElPlusFormDatetimerange.vue +3 -1
  27. package/lib/components/el-plus-form/components/ElPlusFormFile.vue +47 -47
  28. package/lib/components/el-plus-form/components/ElPlusFormImage.vue +113 -113
  29. package/lib/components/el-plus-form/components/ElPlusFormInput.vue +3 -1
  30. package/lib/components/el-plus-form/components/ElPlusFormLink.vue +281 -281
  31. package/lib/components/el-plus-form/components/ElPlusFormLkuser.vue +489 -489
  32. package/lib/components/el-plus-form/components/ElPlusFormNbinput.vue +53 -51
  33. package/lib/components/el-plus-form/components/ElPlusFormNumber.vue +146 -144
  34. package/lib/components/el-plus-form/components/ElPlusFormPassword.vue +3 -1
  35. package/lib/components/el-plus-form/components/ElPlusFormQuickInput.vue +94 -92
  36. package/lib/components/el-plus-form/components/ElPlusFormRadio.vue +42 -42
  37. package/lib/components/el-plus-form/components/ElPlusFormRate.vue +38 -38
  38. package/lib/components/el-plus-form/components/ElPlusFormSelect.vue +161 -161
  39. package/lib/components/el-plus-form/components/ElPlusFormSlider.vue +38 -38
  40. package/lib/components/el-plus-form/components/ElPlusFormSwitch.vue +38 -38
  41. package/lib/components/el-plus-form/components/ElPlusFormTag.vue +78 -78
  42. package/lib/components/el-plus-form/components/ElPlusFormText.vue +99 -99
  43. package/lib/components/el-plus-form/components/ElPlusFormTextarea.vue +49 -47
  44. package/lib/components/el-plus-form/components/ElPlusFormTransfer.vue +44 -44
  45. package/lib/components/el-plus-form/components/ElPlusFormTree.vue +76 -76
  46. package/lib/components/el-plus-form/components/ElPlusFormTreeSelect.vue +59 -59
  47. package/lib/components/el-plus-form/components/ElPlusFormUpload.vue +368 -368
  48. package/lib/components/el-plus-form/components/components/file-icons/FileIcons.vue +135 -135
  49. package/lib/components/el-plus-form/components/components/file-icons/data/index.ts +27 -27
  50. package/lib/components/el-plus-form/components/components/file-icons/images/doc.svg +12 -12
  51. package/lib/components/el-plus-form/components/components/file-icons/images/file.svg +18 -18
  52. package/lib/components/el-plus-form/components/components/file-icons/images/jpg.svg +13 -13
  53. package/lib/components/el-plus-form/components/components/file-icons/images/pdf.svg +12 -12
  54. package/lib/components/el-plus-form/components/components/file-icons/images/png.svg +12 -12
  55. package/lib/components/el-plus-form/components/components/file-icons/images/ppt.svg +12 -12
  56. package/lib/components/el-plus-form/components/components/file-icons/images/xls.svg +12 -12
  57. package/lib/components/el-plus-form/components/index.ts +17 -17
  58. package/lib/components/el-plus-form/data/file.ts +74 -74
  59. package/lib/components/el-plus-form/mixins/index.ts +113 -113
  60. package/lib/components/el-plus-form/util/index.ts +257 -257
  61. package/lib/components/el-plus-form/util/validate.ts +332 -332
  62. package/lib/components/el-plus-table/components/columnItem.vue +205 -205
  63. package/lib/components/el-plus-table/components/header.vue +240 -240
  64. package/lib/components/el-plus-table/components/statisticInfo.vue +47 -47
  65. package/lib/components/el-plus-table/util/index.ts +147 -147
  66. package/lib/config/index.ts +30 -30
  67. package/lib/index.d.ts +4 -4
  68. package/lib/index.ts +51 -51
  69. package/package.json +1 -1
  70. package/types/axios.d.ts +13 -13
  71. package/types/formList.d.ts +440 -440
  72. package/types/layout.d.ts +57 -57
  73. package/types/mitt.d.ts +38 -38
  74. package/types/pinia.d.ts +149 -149
  75. package/types/views.d.ts +329 -329
  76. package/vite.config.ts +78 -78
@@ -1,332 +1,332 @@
1
- /**
2
- * 获取通用的校验规则
3
- */
4
-
5
- /**
6
- * 不能为空
7
- */
8
- export const notNull = [{ required: true, trigger: 'blur', validator: validateInputNotNull }]
9
-
10
- /**
11
- * 不能全是空格
12
- */
13
- export const notAllBlank = [{ required: true, trigger: 'blur', validator: validateInputNotAllBlank }]
14
-
15
- /**
16
- * 必须是数字
17
- */
18
- export const number = [{ type: 'number', message: '请填入数字!' }]
19
-
20
- /**
21
- * 校验验证码
22
- */
23
- export const vCode = [{ required: true, trigger: 'blur', validator: validateValidateCode }]
24
-
25
- /**
26
- * 校验邮箱
27
- */
28
- export const email = [{ trigger: 'blur', validator: validateEmail }]
29
-
30
- /**
31
- * 校验手机号
32
- */
33
- export const phone = [{ required: true, trigger: 'blur', validator: validatePhone }]
34
-
35
- /**
36
- * 校验密码
37
- */
38
- export const password = [{ required: true, trigger: 'blur', validator: validatePassword }]
39
-
40
- /**
41
- * 校验密码
42
- */
43
- export const password2 = [{ trigger: 'blur', validator: validatePassword }]
44
-
45
- /**
46
- * 校验账户
47
- */
48
- export const account = [{ required: true, trigger: 'blur', validator: validateAccount }]
49
-
50
- /**
51
- * 校验英文字母加数字
52
- */
53
- export const wordnum = [{ trigger: 'blur', validator: validateWordNumber }]
54
- export const wordnum2 = [{ required: true, trigger: 'blur', validator: validateWordNumber }]
55
-
56
- /**
57
- * 必须是数字且不为空
58
- */
59
- export const numberNotNull = [
60
- { required: true, message: '不能为空!', trigger: 'blur' },
61
- { type: 'number', message: '请填入数字!' }
62
- ]
63
-
64
- /**
65
- * 正整数
66
- */
67
- export const zhengZhengShu = [{ required: true, trigger: 'blur', validator: validateZhengZhengShu }]
68
-
69
- /**
70
- * Double类型
71
- */
72
- export const double = [{ required: true, trigger: 'blur', validator: validateDouble }]
73
- /**
74
- * Double类型且必填
75
- */
76
- export const double2 = [{ trigger: 'blur', validator: validateDouble }]
77
-
78
- /**
79
- * 选择
80
- */
81
- export const select = [{ required: true, trigger: 'change', validator: validateSelect }]
82
-
83
- /**
84
- * 级联选择
85
- * @type {[*]}
86
- */
87
- export const cascader = [{ required: true, trigger: 'change', validator: validateSelect }]
88
-
89
- /**
90
- * 必须上传
91
- */
92
- export const upload = [{ required: true, trigger: 'change', validator: validateUpload }]
93
-
94
- /**
95
- * 文本域
96
- */
97
- export const textarea = [{ required: true, trigger: 'change', validator: validateTextarea }]
98
-
99
- /**
100
- * 富文本编辑器
101
- */
102
- export const editor = [{ required: true, trigger: 'change', validator: validateEditor }]
103
-
104
- /**
105
- * 正整数校验
106
- * @param rule
107
- * @param value
108
- * @param callback
109
- */
110
- function validateZhengZhengShu(rule: any, value: any, callback?: any) {
111
- if (!/^[1-9]\d*$/.test(value * 1 + '')) {
112
- callback(new Error('请输入正整数!'))
113
- } else {
114
- callback()
115
- }
116
- }
117
-
118
- /**
119
- * 选择
120
- * @param rule
121
- * @param value
122
- * @param callback
123
- */
124
- function validateValidateCode(rule: any, value: any, callback?: any) {
125
- if (value.length !== 4) {
126
- callback(new Error('验证码必须是4位!'))
127
- } else {
128
- callback()
129
- }
130
- }
131
-
132
- /**
133
- * 选择
134
- * @param rule
135
- * @param value
136
- * @param callback
137
- */
138
- function validateInputNotNull(rule: any, value: any, callback?: any) {
139
- if (typeof value === 'undefined' || value === '' || value === null) {
140
- callback(new Error('此项必填!'))
141
- } else {
142
- callback()
143
- }
144
- }
145
-
146
- /**
147
- * 不能全是空格
148
- * @param rule
149
- * @param value
150
- * @param callback
151
- */
152
- function validateInputNotAllBlank(rule: any, value: any, callback?: any) {
153
- if (typeof value === 'undefined' || value === '' || value === null) {
154
- callback(new Error('此项必填!'))
155
- } else {
156
- if (typeof value === 'number') {
157
- value = value + ''
158
- }
159
- if (typeof value === 'string' && value.match(/^[ ]*$/)) {
160
- callback(new Error('不能全是空格!'))
161
- } else {
162
- callback()
163
- }
164
- }
165
- }
166
-
167
- /**
168
- * 选择
169
- * @param rule
170
- * @param value
171
- * @param callback
172
- */
173
- function validateSelect(rule: any, value: any, callback?: any) {
174
- if (value === null || typeof value === 'undefined' || value === '' || value.length <= 0) {
175
- callback(new Error('请选择!'))
176
- } else {
177
- callback()
178
- }
179
- }
180
-
181
- /**
182
- * 上传
183
- * @param rule
184
- * @param value
185
- * @param callback
186
- */
187
- function validateUpload(rule: any, value: any, callback?: any) {
188
- if (value === null || typeof value === 'undefined' || value === '' || value.length <= 0) {
189
- callback(new Error('请上传!'))
190
- } else {
191
- callback()
192
- }
193
- }
194
-
195
- /**
196
- * 文本域
197
- * @param rule
198
- * @param value
199
- * @param callback
200
- */
201
- function validateTextarea(rule: any, value: any, callback?: any) {
202
- if (typeof value === 'undefined' || value === null || value === '' || value === null) {
203
- callback(new Error('此项必填!'))
204
- } else if (!value.replace(/\n/g, '')) {
205
- callback(new Error('不能全是换行!'))
206
- } else if (typeof value === 'string' && value.replace(/\n/g, '').match(/^[ ]*$/)) {
207
- callback(new Error('不能全是空格!'))
208
- } else {
209
- callback()
210
- }
211
- }
212
- /**
213
- * 富文本编辑器
214
- * @param rule
215
- * @param value
216
- * @param callback
217
- */
218
- function validateEditor(rule: any, value: any, callback?: any) {
219
- if (typeof value === 'undefined' || value === null || value === '' || value === null) {
220
- callback(new Error('此项必填!'))
221
- } else if (!value.replace(/\n/g, '')) {
222
- callback(new Error('不能全是换行!'))
223
- } else if (typeof value === 'string' && value.replace(/\n/g, '').match(/^[ ]*$/)) {
224
- callback(new Error('不能全是空格!'))
225
- } else {
226
- callback()
227
- }
228
- }
229
-
230
- /**
231
- * 小数校验规则
232
- * @param rule
233
- * @param value
234
- * @param callback
235
- */
236
- function validateDouble(rule: any, value: any, callback?: any) {
237
- if (!/^\d+(\.(\d{1}|\d{2}))?$/.test(value * 1 + '')) {
238
- callback(new Error('小数格式错误(最多两位)!'))
239
- } else {
240
- callback()
241
- }
242
- }
243
-
244
- /**
245
- * 校验邮箱
246
- * @param rule
247
- * @param value
248
- * @param callback
249
- */
250
- function validateEmail(rule: any, value: any, callback?: any) {
251
- if (!value) {
252
- callback(new Error('邮箱必填'))
253
- } else if (!/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(value)) {
254
- callback(new Error('邮箱格式错误!'))
255
- } else {
256
- callback()
257
- }
258
- }
259
-
260
- /**
261
- * 校验手机号
262
- * @param rule
263
- * @param value
264
- * @param callback
265
- */
266
- function validatePhone(rule: any, value: any, callback?: any) {
267
- if (!value) {
268
- callback(new Error('手机号必填'))
269
- } else if (!/^[1][3,4,5,6,7,8,9][0-9]{9}$/.test(value)) {
270
- callback(new Error('手机号格式错误!'))
271
- } else {
272
- callback()
273
- }
274
- }
275
-
276
- /**
277
- * 校验密码
278
- * @param rule
279
- * @param value
280
- * @param callback
281
- */
282
- export function validatePassword(rule: any, value: any, callback?: any) {
283
- if (!value || !/^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_]+$)(?![a-z0-9]+$)(?![a-z\W_]+$)(?=.*[~!@#$%^&*])(?![0-9\W_]+$)[a-zA-Z0-9\W_]{8,32}$/.test(value)) {
284
- callback(new Error('密码为8-32位字母大小写+特殊字符+数字!'))
285
- } else {
286
- callback()
287
- }
288
- }
289
-
290
- /**
291
- * 校验密码
292
- * @param rule
293
- * @param value
294
- * @param callback
295
- */
296
- export function validatePassword2(rule: any, value: any, callback?: any) {
297
- if (value && !/^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_]+$)(?![a-z0-9]+$)(?![a-z\W_]+$)(?=.*[~!@#$%^&*])(?![0-9\W_]+$)[a-zA-Z0-9\W_]{8,32}$/.test(value)) {
298
- callback(new Error('密码为8-32位字母大小写+特殊字符+数字!'))
299
- } else {
300
- callback()
301
- }
302
- }
303
-
304
- /**
305
- * 校验账户
306
- * @param rule
307
- * @param value
308
- * @param callback
309
- */
310
- function validateAccount(rule: any, value: any, callback?: any) {
311
- if (typeof value === 'undefined' || value === '' || value === null) {
312
- callback(new Error('此项必填!'))
313
- } else if (value && !/^([a-z,A-z,0-9]){4,20}$/.test(value)) {
314
- callback(new Error('账号为4-20位字母或数字!'))
315
- } else {
316
- callback()
317
- }
318
- }
319
-
320
- /**
321
- * 校验字母和数字组成
322
- * @param rule
323
- * @param value
324
- * @param callback
325
- */
326
- function validateWordNumber(rule: any, value: any, callback?: any) {
327
- if (value && !/^([a-z,A-z,0-9]){16,20}$/.test(value)) {
328
- callback(new Error('请输入16-20位字母或数字!'))
329
- } else {
330
- callback()
331
- }
332
- }
1
+ /**
2
+ * 获取通用的校验规则
3
+ */
4
+
5
+ /**
6
+ * 不能为空
7
+ */
8
+ export const notNull = [{ required: true, trigger: 'blur', validator: validateInputNotNull }]
9
+
10
+ /**
11
+ * 不能全是空格
12
+ */
13
+ export const notAllBlank = [{ required: true, trigger: 'blur', validator: validateInputNotAllBlank }]
14
+
15
+ /**
16
+ * 必须是数字
17
+ */
18
+ export const number = [{ type: 'number', message: '请填入数字!' }]
19
+
20
+ /**
21
+ * 校验验证码
22
+ */
23
+ export const vCode = [{ required: true, trigger: 'blur', validator: validateValidateCode }]
24
+
25
+ /**
26
+ * 校验邮箱
27
+ */
28
+ export const email = [{ trigger: 'blur', validator: validateEmail }]
29
+
30
+ /**
31
+ * 校验手机号
32
+ */
33
+ export const phone = [{ required: true, trigger: 'blur', validator: validatePhone }]
34
+
35
+ /**
36
+ * 校验密码
37
+ */
38
+ export const password = [{ required: true, trigger: 'blur', validator: validatePassword }]
39
+
40
+ /**
41
+ * 校验密码
42
+ */
43
+ export const password2 = [{ trigger: 'blur', validator: validatePassword }]
44
+
45
+ /**
46
+ * 校验账户
47
+ */
48
+ export const account = [{ required: true, trigger: 'blur', validator: validateAccount }]
49
+
50
+ /**
51
+ * 校验英文字母加数字
52
+ */
53
+ export const wordnum = [{ trigger: 'blur', validator: validateWordNumber }]
54
+ export const wordnum2 = [{ required: true, trigger: 'blur', validator: validateWordNumber }]
55
+
56
+ /**
57
+ * 必须是数字且不为空
58
+ */
59
+ export const numberNotNull = [
60
+ { required: true, message: '不能为空!', trigger: 'blur' },
61
+ { type: 'number', message: '请填入数字!' }
62
+ ]
63
+
64
+ /**
65
+ * 正整数
66
+ */
67
+ export const zhengZhengShu = [{ required: true, trigger: 'blur', validator: validateZhengZhengShu }]
68
+
69
+ /**
70
+ * Double类型
71
+ */
72
+ export const double = [{ required: true, trigger: 'blur', validator: validateDouble }]
73
+ /**
74
+ * Double类型且必填
75
+ */
76
+ export const double2 = [{ trigger: 'blur', validator: validateDouble }]
77
+
78
+ /**
79
+ * 选择
80
+ */
81
+ export const select = [{ required: true, trigger: 'change', validator: validateSelect }]
82
+
83
+ /**
84
+ * 级联选择
85
+ * @type {[*]}
86
+ */
87
+ export const cascader = [{ required: true, trigger: 'change', validator: validateSelect }]
88
+
89
+ /**
90
+ * 必须上传
91
+ */
92
+ export const upload = [{ required: true, trigger: 'change', validator: validateUpload }]
93
+
94
+ /**
95
+ * 文本域
96
+ */
97
+ export const textarea = [{ required: true, trigger: 'change', validator: validateTextarea }]
98
+
99
+ /**
100
+ * 富文本编辑器
101
+ */
102
+ export const editor = [{ required: true, trigger: 'change', validator: validateEditor }]
103
+
104
+ /**
105
+ * 正整数校验
106
+ * @param rule
107
+ * @param value
108
+ * @param callback
109
+ */
110
+ function validateZhengZhengShu(rule: any, value: any, callback?: any) {
111
+ if (!/^[1-9]\d*$/.test(value * 1 + '')) {
112
+ callback(new Error('请输入正整数!'))
113
+ } else {
114
+ callback()
115
+ }
116
+ }
117
+
118
+ /**
119
+ * 选择
120
+ * @param rule
121
+ * @param value
122
+ * @param callback
123
+ */
124
+ function validateValidateCode(rule: any, value: any, callback?: any) {
125
+ if (value.length !== 4) {
126
+ callback(new Error('验证码必须是4位!'))
127
+ } else {
128
+ callback()
129
+ }
130
+ }
131
+
132
+ /**
133
+ * 选择
134
+ * @param rule
135
+ * @param value
136
+ * @param callback
137
+ */
138
+ function validateInputNotNull(rule: any, value: any, callback?: any) {
139
+ if (typeof value === 'undefined' || value === '' || value === null) {
140
+ callback(new Error('此项必填!'))
141
+ } else {
142
+ callback()
143
+ }
144
+ }
145
+
146
+ /**
147
+ * 不能全是空格
148
+ * @param rule
149
+ * @param value
150
+ * @param callback
151
+ */
152
+ function validateInputNotAllBlank(rule: any, value: any, callback?: any) {
153
+ if (typeof value === 'undefined' || value === '' || value === null) {
154
+ callback(new Error('此项必填!'))
155
+ } else {
156
+ if (typeof value === 'number') {
157
+ value = value + ''
158
+ }
159
+ if (typeof value === 'string' && value.match(/^[ ]*$/)) {
160
+ callback(new Error('不能全是空格!'))
161
+ } else {
162
+ callback()
163
+ }
164
+ }
165
+ }
166
+
167
+ /**
168
+ * 选择
169
+ * @param rule
170
+ * @param value
171
+ * @param callback
172
+ */
173
+ function validateSelect(rule: any, value: any, callback?: any) {
174
+ if (value === null || typeof value === 'undefined' || value === '' || value.length <= 0) {
175
+ callback(new Error('请选择!'))
176
+ } else {
177
+ callback()
178
+ }
179
+ }
180
+
181
+ /**
182
+ * 上传
183
+ * @param rule
184
+ * @param value
185
+ * @param callback
186
+ */
187
+ function validateUpload(rule: any, value: any, callback?: any) {
188
+ if (value === null || typeof value === 'undefined' || value === '' || value.length <= 0) {
189
+ callback(new Error('请上传!'))
190
+ } else {
191
+ callback()
192
+ }
193
+ }
194
+
195
+ /**
196
+ * 文本域
197
+ * @param rule
198
+ * @param value
199
+ * @param callback
200
+ */
201
+ function validateTextarea(rule: any, value: any, callback?: any) {
202
+ if (typeof value === 'undefined' || value === null || value === '' || value === null) {
203
+ callback(new Error('此项必填!'))
204
+ } else if (!value.replace(/\n/g, '')) {
205
+ callback(new Error('不能全是换行!'))
206
+ } else if (typeof value === 'string' && value.replace(/\n/g, '').match(/^[ ]*$/)) {
207
+ callback(new Error('不能全是空格!'))
208
+ } else {
209
+ callback()
210
+ }
211
+ }
212
+ /**
213
+ * 富文本编辑器
214
+ * @param rule
215
+ * @param value
216
+ * @param callback
217
+ */
218
+ function validateEditor(rule: any, value: any, callback?: any) {
219
+ if (typeof value === 'undefined' || value === null || value === '' || value === null) {
220
+ callback(new Error('此项必填!'))
221
+ } else if (!value.replace(/\n/g, '')) {
222
+ callback(new Error('不能全是换行!'))
223
+ } else if (typeof value === 'string' && value.replace(/\n/g, '').match(/^[ ]*$/)) {
224
+ callback(new Error('不能全是空格!'))
225
+ } else {
226
+ callback()
227
+ }
228
+ }
229
+
230
+ /**
231
+ * 小数校验规则
232
+ * @param rule
233
+ * @param value
234
+ * @param callback
235
+ */
236
+ function validateDouble(rule: any, value: any, callback?: any) {
237
+ if (!/^\d+(\.(\d{1}|\d{2}))?$/.test(value * 1 + '')) {
238
+ callback(new Error('小数格式错误(最多两位)!'))
239
+ } else {
240
+ callback()
241
+ }
242
+ }
243
+
244
+ /**
245
+ * 校验邮箱
246
+ * @param rule
247
+ * @param value
248
+ * @param callback
249
+ */
250
+ function validateEmail(rule: any, value: any, callback?: any) {
251
+ if (!value) {
252
+ callback(new Error('邮箱必填'))
253
+ } else if (!/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(value)) {
254
+ callback(new Error('邮箱格式错误!'))
255
+ } else {
256
+ callback()
257
+ }
258
+ }
259
+
260
+ /**
261
+ * 校验手机号
262
+ * @param rule
263
+ * @param value
264
+ * @param callback
265
+ */
266
+ function validatePhone(rule: any, value: any, callback?: any) {
267
+ if (!value) {
268
+ callback(new Error('手机号必填'))
269
+ } else if (!/^[1][3,4,5,6,7,8,9][0-9]{9}$/.test(value)) {
270
+ callback(new Error('手机号格式错误!'))
271
+ } else {
272
+ callback()
273
+ }
274
+ }
275
+
276
+ /**
277
+ * 校验密码
278
+ * @param rule
279
+ * @param value
280
+ * @param callback
281
+ */
282
+ export function validatePassword(rule: any, value: any, callback?: any) {
283
+ if (!value || !/^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_]+$)(?![a-z0-9]+$)(?![a-z\W_]+$)(?=.*[~!@#$%^&*])(?![0-9\W_]+$)[a-zA-Z0-9\W_]{8,32}$/.test(value)) {
284
+ callback(new Error('密码为8-32位字母大小写+特殊字符+数字!'))
285
+ } else {
286
+ callback()
287
+ }
288
+ }
289
+
290
+ /**
291
+ * 校验密码
292
+ * @param rule
293
+ * @param value
294
+ * @param callback
295
+ */
296
+ export function validatePassword2(rule: any, value: any, callback?: any) {
297
+ if (value && !/^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_]+$)(?![a-z0-9]+$)(?![a-z\W_]+$)(?=.*[~!@#$%^&*])(?![0-9\W_]+$)[a-zA-Z0-9\W_]{8,32}$/.test(value)) {
298
+ callback(new Error('密码为8-32位字母大小写+特殊字符+数字!'))
299
+ } else {
300
+ callback()
301
+ }
302
+ }
303
+
304
+ /**
305
+ * 校验账户
306
+ * @param rule
307
+ * @param value
308
+ * @param callback
309
+ */
310
+ function validateAccount(rule: any, value: any, callback?: any) {
311
+ if (typeof value === 'undefined' || value === '' || value === null) {
312
+ callback(new Error('此项必填!'))
313
+ } else if (value && !/^([a-z,A-z,0-9]){4,20}$/.test(value)) {
314
+ callback(new Error('账号为4-20位字母或数字!'))
315
+ } else {
316
+ callback()
317
+ }
318
+ }
319
+
320
+ /**
321
+ * 校验字母和数字组成
322
+ * @param rule
323
+ * @param value
324
+ * @param callback
325
+ */
326
+ function validateWordNumber(rule: any, value: any, callback?: any) {
327
+ if (value && !/^([a-z,A-z,0-9]){16,20}$/.test(value)) {
328
+ callback(new Error('请输入16-20位字母或数字!'))
329
+ } else {
330
+ callback()
331
+ }
332
+ }