@jnrs/shared 1.1.1 → 1.1.2

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.
package/README.md CHANGED
@@ -29,4 +29,6 @@ import { uuidv4 } from '@jnrs/shared/uuid'
29
29
  - formatWeekday
30
30
  #### @jnrs/core/lodash 模块
31
31
  #### @jnrs/core/uuid 模块
32
+ #### @jnrs/core/validate 校验规则模块
33
+ #### @jnrs/core/validator 校验方法模块
32
34
 
@@ -0,0 +1,326 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ /**
6
+ * @Author : TanRui
7
+ * @WeChat : Tan578853789
8
+ * @File : validate.ts
9
+ * @Date : 2025/10/14
10
+ * @Desc. : 校验规则
11
+ */
12
+ // ========== 基础类型校验 ==========
13
+ /**
14
+ * 是否为邮箱
15
+ */
16
+ function isEmail(s) {
17
+ return /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(s);
18
+ }
19
+ /**
20
+ * 是否为中国大陆手机号
21
+ */
22
+ function isMobile(s) {
23
+ return /^1[3-9]\d{9}$/.test(s);
24
+ }
25
+ /**
26
+ * 是否为电话号码(固话或手机)
27
+ */
28
+ function isPhone(s) {
29
+ const mobile = /^1[3-9]\d{9}$/;
30
+ const landline = /^(0[1-9]\d{1,2}-?)?\d{7,8}$/;
31
+ return mobile.test(s) || landline.test(s);
32
+ }
33
+ /**
34
+ * 是否为 URL(必须带协议)
35
+ */
36
+ function isURL(s) {
37
+ try {
38
+ new URL(s);
39
+ return true;
40
+ }
41
+ catch {
42
+ return false;
43
+ }
44
+ }
45
+ // ========== 字符串内容校验 ==========
46
+ function isLowerCase(str) {
47
+ return /^[a-z]+$/.test(str);
48
+ }
49
+ function isUpperCase(str) {
50
+ return /^[A-Z]+$/.test(str);
51
+ }
52
+ function isAlphabets(str) {
53
+ return /^[A-Za-z]+$/.test(str);
54
+ }
55
+ function isName(name) {
56
+ return /^[\u4e00-\u9fa5]{2,4}$/.test(name);
57
+ }
58
+ /**
59
+ * 是否为纯数字字符串(可选:是否允许小数)
60
+ * @param num - 输入字符串
61
+ * @param type - 1: 只允许整数;2: 允许小数(默认)
62
+ */
63
+ function isNum(num, type = 2) {
64
+ if (type === 1) {
65
+ return /^\d+$/.test(num); // 仅整数
66
+ }
67
+ else {
68
+ return /^\d+(\.\d+)?$/.test(num); // 允许小数
69
+ }
70
+ }
71
+ function isFloat(num) {
72
+ return /^-?\d+(\.\d+)?$/.test(num);
73
+ }
74
+ function isNull(val) {
75
+ if (Array.isArray(val))
76
+ return val.length === 0;
77
+ if (val && typeof val === 'object')
78
+ return Object.keys(val).length === 0;
79
+ return val == null || val === '' || val === 'null' || val === 'undefined';
80
+ }
81
+ // ========== 身份证校验 ==========
82
+ function isCardId(code) {
83
+ if (!code || code.length !== 18)
84
+ return false;
85
+ const city = {
86
+ '11': '北京',
87
+ '12': '天津',
88
+ '13': '河北',
89
+ '14': '山西',
90
+ '15': '内蒙古',
91
+ '21': '辽宁',
92
+ '22': '吉林',
93
+ '23': '黑龙江',
94
+ '31': '上海',
95
+ '32': '江苏',
96
+ '33': '浙江',
97
+ '34': '安徽',
98
+ '35': '福建',
99
+ '36': '江西',
100
+ '37': '山东',
101
+ '41': '河南',
102
+ '42': '湖北',
103
+ '43': '湖南',
104
+ '44': '广东',
105
+ '45': '广西',
106
+ '46': '海南',
107
+ '50': '重庆',
108
+ '51': '四川',
109
+ '52': '贵州',
110
+ '53': '云南',
111
+ '54': '西藏',
112
+ '61': '陕西',
113
+ '62': '甘肃',
114
+ '63': '青海',
115
+ '64': '宁夏',
116
+ '65': '新疆',
117
+ '71': '台湾',
118
+ '81': '香港',
119
+ '82': '澳门',
120
+ '91': '国外'
121
+ };
122
+ const province = code.slice(0, 2);
123
+ if (!(province in city))
124
+ return false;
125
+ // 校验格式
126
+ if (!/^\d{17}[\dXx]$/.test(code))
127
+ return false;
128
+ // 校验位计算
129
+ const factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
130
+ const parity = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'];
131
+ let sum = 0;
132
+ for (let i = 0; i < 17; i++) {
133
+ sum += parseInt(code[i], 10) * factor[i];
134
+ }
135
+ const check = parity[sum % 11];
136
+ return check === code[17].toUpperCase();
137
+ }
138
+ // ========== 数值比较校验 ==========
139
+ const toInt = (v) => parseInt(v, 10);
140
+ const toFloat = (v) => parseFloat(v);
141
+ function isIntEqZero(value) {
142
+ return toInt(value) === 0;
143
+ }
144
+ function isIntGtZero(value) {
145
+ return toInt(value) > 0;
146
+ }
147
+ function isIntGteZero(value) {
148
+ return toInt(value) >= 0;
149
+ }
150
+ function isIntNEqZero(value) {
151
+ return toInt(value) !== 0;
152
+ }
153
+ function isIntLtZero(value) {
154
+ return toInt(value) < 0;
155
+ }
156
+ function isIntLteZero(value) {
157
+ return toInt(value) <= 0;
158
+ }
159
+ function isFloatEqZero(value) {
160
+ return toFloat(value) === 0;
161
+ }
162
+ function isFloatGtZero(value) {
163
+ return toFloat(value) > 0;
164
+ }
165
+ function isFloatGteZero(value) {
166
+ return toFloat(value) >= 0;
167
+ }
168
+ function isFloatNEqZero(value) {
169
+ return toFloat(value) !== 0;
170
+ }
171
+ function isFloatLtZero(value) {
172
+ return toFloat(value) < 0;
173
+ }
174
+ function isFloatLteZero(value) {
175
+ return toFloat(value) <= 0;
176
+ }
177
+ function isInteger(value) {
178
+ return /^-?\d+$/.test(value);
179
+ }
180
+ function isNumber(value) {
181
+ return /^-?\d+(\.\d+)?$/.test(value);
182
+ }
183
+ function isNumberGtZero(value) {
184
+ const num = toFloat(value);
185
+ return !isNaN(num) && num >= 0;
186
+ }
187
+ function isDigits(value) {
188
+ return /^\d+$/.test(value);
189
+ }
190
+ // ========== 特定格式校验 ==========
191
+ function isEnglish(value) {
192
+ return /^[A-Za-z]+$/.test(value);
193
+ }
194
+ function isTel(value) {
195
+ return isPhone(value);
196
+ }
197
+ function isQq(value) {
198
+ return /^[1-9]\d{4,12}$/.test(value);
199
+ }
200
+ function isZipCode(value) {
201
+ return /^[1-9]\d{5}$/.test(value); // 中国邮政编码第一位不能为0
202
+ }
203
+ function isPwd(value) {
204
+ return /^[a-zA-Z]\w{5,11}$/.test(value); // 字母开头,6-12位
205
+ }
206
+ function isWeakPwd(value) {
207
+ return /^[a-zA-Z\d!@#$%^&*()_+\-=]+$/.test(value);
208
+ }
209
+ function isStrongPwd(value) {
210
+ return /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*()_+\-=]).{12,}$/.test(value);
211
+ }
212
+ function ip(value) {
213
+ const ipv4 = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;
214
+ if (!ipv4.test(value))
215
+ return false;
216
+ return value.split('.').every((part) => {
217
+ const num = parseInt(part, 10);
218
+ return num >= 0 && num <= 255 && String(num) === part; // 防止 01、001
219
+ });
220
+ }
221
+ function stringCheck(value) {
222
+ return /^[a-zA-Z0-9\u4e00-\u9fa5\-_]+$/.test(value);
223
+ }
224
+ function isChinese(value) {
225
+ return /^[\u4e00-\u9fa5]+$/.test(value);
226
+ }
227
+ function isChineseChar(value) {
228
+ return /^[\u4e00-\u9fa5\u3400-\u4dbf\u{20000}-\u{2a6df}\u{2a700}-\u{2b73f}\u{2b740}-\u{2b81f}\u{2b820}-\u{2ceaf}]+$/u.test(value);
229
+ }
230
+ function isRightfulString(value) {
231
+ return /^[A-Za-z0-9_-]+$/.test(value);
232
+ }
233
+ // 车牌号(简化版,仅支持普通蓝牌/绿牌)
234
+ function isPlateNo(plateNo) {
235
+ // 普通车牌:京A12345,新能源:京AD12345
236
+ return (/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-Z][A-Z0-9]{5}$/.test(plateNo) ||
237
+ /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-Z][A-Z0-9]{6}$/.test(plateNo));
238
+ }
239
+ // ========== 默认导出 ==========
240
+ var validate = {
241
+ isAlphabets,
242
+ isCardId,
243
+ isChinese,
244
+ isChineseChar,
245
+ isDigits,
246
+ isEmail,
247
+ isEnglish,
248
+ isFloat,
249
+ stringCheck,
250
+ isFloatGteZero,
251
+ ip,
252
+ isFloatEqZero,
253
+ isFloatGtZero,
254
+ isFloatLtZero,
255
+ isFloatLteZero,
256
+ isFloatNEqZero,
257
+ isIntEqZero,
258
+ isIntGtZero,
259
+ isIntGteZero,
260
+ isIntLtZero,
261
+ isIntLteZero,
262
+ isIntNEqZero,
263
+ isInteger,
264
+ isLowerCase,
265
+ isMobile,
266
+ isName,
267
+ isNull,
268
+ isNum,
269
+ isNumber,
270
+ isNumberGtZero,
271
+ isPhone,
272
+ isPlateNo,
273
+ isPwd,
274
+ isWeakPwd,
275
+ isStrongPwd,
276
+ isQq,
277
+ isRightfulString,
278
+ isTel,
279
+ isURL,
280
+ isUpperCase,
281
+ isZipCode
282
+ };
283
+
284
+ exports.default = validate;
285
+ exports.ip = ip;
286
+ exports.isAlphabets = isAlphabets;
287
+ exports.isCardId = isCardId;
288
+ exports.isChinese = isChinese;
289
+ exports.isChineseChar = isChineseChar;
290
+ exports.isDigits = isDigits;
291
+ exports.isEmail = isEmail;
292
+ exports.isEnglish = isEnglish;
293
+ exports.isFloat = isFloat;
294
+ exports.isFloatEqZero = isFloatEqZero;
295
+ exports.isFloatGtZero = isFloatGtZero;
296
+ exports.isFloatGteZero = isFloatGteZero;
297
+ exports.isFloatLtZero = isFloatLtZero;
298
+ exports.isFloatLteZero = isFloatLteZero;
299
+ exports.isFloatNEqZero = isFloatNEqZero;
300
+ exports.isIntEqZero = isIntEqZero;
301
+ exports.isIntGtZero = isIntGtZero;
302
+ exports.isIntGteZero = isIntGteZero;
303
+ exports.isIntLtZero = isIntLtZero;
304
+ exports.isIntLteZero = isIntLteZero;
305
+ exports.isIntNEqZero = isIntNEqZero;
306
+ exports.isInteger = isInteger;
307
+ exports.isLowerCase = isLowerCase;
308
+ exports.isMobile = isMobile;
309
+ exports.isName = isName;
310
+ exports.isNull = isNull;
311
+ exports.isNum = isNum;
312
+ exports.isNumber = isNumber;
313
+ exports.isNumberGtZero = isNumberGtZero;
314
+ exports.isPhone = isPhone;
315
+ exports.isPlateNo = isPlateNo;
316
+ exports.isPwd = isPwd;
317
+ exports.isQq = isQq;
318
+ exports.isRightfulString = isRightfulString;
319
+ exports.isStrongPwd = isStrongPwd;
320
+ exports.isTel = isTel;
321
+ exports.isURL = isURL;
322
+ exports.isUpperCase = isUpperCase;
323
+ exports.isWeakPwd = isWeakPwd;
324
+ exports.isZipCode = isZipCode;
325
+ exports.stringCheck = stringCheck;
326
+ //# sourceMappingURL=validate.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.cjs","sources":["../src/validate.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * @Author : TanRui
3
+ * @WeChat : Tan578853789
4
+ * @File : validate.ts
5
+ * @Date : 2025/10/14
6
+ * @Desc. : 校验规则
7
+ */
8
+ /**
9
+ * 是否为邮箱
10
+ */
11
+ export declare function isEmail(s: string): boolean;
12
+ /**
13
+ * 是否为中国大陆手机号
14
+ */
15
+ export declare function isMobile(s: string): boolean;
16
+ /**
17
+ * 是否为电话号码(固话或手机)
18
+ */
19
+ export declare function isPhone(s: string): boolean;
20
+ /**
21
+ * 是否为 URL(必须带协议)
22
+ */
23
+ export declare function isURL(s: string): boolean;
24
+ export declare function isLowerCase(str: string): boolean;
25
+ export declare function isUpperCase(str: string): boolean;
26
+ export declare function isAlphabets(str: string): boolean;
27
+ export declare function isName(name: string): boolean;
28
+ /**
29
+ * 是否为纯数字字符串(可选:是否允许小数)
30
+ * @param num - 输入字符串
31
+ * @param type - 1: 只允许整数;2: 允许小数(默认)
32
+ */
33
+ export declare function isNum(num: string, type?: 1 | 2): boolean;
34
+ export declare function isFloat(num: string): boolean;
35
+ export declare function isNull(val: unknown): boolean;
36
+ export declare function isCardId(code: string): boolean;
37
+ export declare function isIntEqZero(value: string): boolean;
38
+ export declare function isIntGtZero(value: string): boolean;
39
+ export declare function isIntGteZero(value: string): boolean;
40
+ export declare function isIntNEqZero(value: string): boolean;
41
+ export declare function isIntLtZero(value: string): boolean;
42
+ export declare function isIntLteZero(value: string): boolean;
43
+ export declare function isFloatEqZero(value: string): boolean;
44
+ export declare function isFloatGtZero(value: string): boolean;
45
+ export declare function isFloatGteZero(value: string): boolean;
46
+ export declare function isFloatNEqZero(value: string): boolean;
47
+ export declare function isFloatLtZero(value: string): boolean;
48
+ export declare function isFloatLteZero(value: string): boolean;
49
+ export declare function isInteger(value: string): boolean;
50
+ export declare function isNumber(value: string): boolean;
51
+ export declare function isNumberGtZero(value: string): boolean;
52
+ export declare function isDigits(value: string): boolean;
53
+ export declare function isEnglish(value: string): boolean;
54
+ export declare function isTel(value: string): boolean;
55
+ export declare function isQq(value: string): boolean;
56
+ export declare function isZipCode(value: string): boolean;
57
+ export declare function isPwd(value: string): boolean;
58
+ export declare function isWeakPwd(value: string): boolean;
59
+ export declare function isStrongPwd(value: string): boolean;
60
+ export declare function ip(value: string): boolean;
61
+ export declare function stringCheck(value: string): boolean;
62
+ export declare function isChinese(value: string): boolean;
63
+ export declare function isChineseChar(value: string): boolean;
64
+ export declare function isRightfulString(value: string): boolean;
65
+ export declare function isPlateNo(plateNo: string): boolean;
66
+ declare const _default: {
67
+ isAlphabets: typeof isAlphabets;
68
+ isCardId: typeof isCardId;
69
+ isChinese: typeof isChinese;
70
+ isChineseChar: typeof isChineseChar;
71
+ isDigits: typeof isDigits;
72
+ isEmail: typeof isEmail;
73
+ isEnglish: typeof isEnglish;
74
+ isFloat: typeof isFloat;
75
+ stringCheck: typeof stringCheck;
76
+ isFloatGteZero: typeof isFloatGteZero;
77
+ ip: typeof ip;
78
+ isFloatEqZero: typeof isFloatEqZero;
79
+ isFloatGtZero: typeof isFloatGtZero;
80
+ isFloatLtZero: typeof isFloatLtZero;
81
+ isFloatLteZero: typeof isFloatLteZero;
82
+ isFloatNEqZero: typeof isFloatNEqZero;
83
+ isIntEqZero: typeof isIntEqZero;
84
+ isIntGtZero: typeof isIntGtZero;
85
+ isIntGteZero: typeof isIntGteZero;
86
+ isIntLtZero: typeof isIntLtZero;
87
+ isIntLteZero: typeof isIntLteZero;
88
+ isIntNEqZero: typeof isIntNEqZero;
89
+ isInteger: typeof isInteger;
90
+ isLowerCase: typeof isLowerCase;
91
+ isMobile: typeof isMobile;
92
+ isName: typeof isName;
93
+ isNull: typeof isNull;
94
+ isNum: typeof isNum;
95
+ isNumber: typeof isNumber;
96
+ isNumberGtZero: typeof isNumberGtZero;
97
+ isPhone: typeof isPhone;
98
+ isPlateNo: typeof isPlateNo;
99
+ isPwd: typeof isPwd;
100
+ isWeakPwd: typeof isWeakPwd;
101
+ isStrongPwd: typeof isStrongPwd;
102
+ isQq: typeof isQq;
103
+ isRightfulString: typeof isRightfulString;
104
+ isTel: typeof isTel;
105
+ isURL: typeof isURL;
106
+ isUpperCase: typeof isUpperCase;
107
+ isZipCode: typeof isZipCode;
108
+ };
109
+ export default _default;
110
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,281 @@
1
+ /**
2
+ * @Author : TanRui
3
+ * @WeChat : Tan578853789
4
+ * @File : validate.ts
5
+ * @Date : 2025/10/14
6
+ * @Desc. : 校验规则
7
+ */
8
+ // ========== 基础类型校验 ==========
9
+ /**
10
+ * 是否为邮箱
11
+ */
12
+ function isEmail(s) {
13
+ return /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(s);
14
+ }
15
+ /**
16
+ * 是否为中国大陆手机号
17
+ */
18
+ function isMobile(s) {
19
+ return /^1[3-9]\d{9}$/.test(s);
20
+ }
21
+ /**
22
+ * 是否为电话号码(固话或手机)
23
+ */
24
+ function isPhone(s) {
25
+ const mobile = /^1[3-9]\d{9}$/;
26
+ const landline = /^(0[1-9]\d{1,2}-?)?\d{7,8}$/;
27
+ return mobile.test(s) || landline.test(s);
28
+ }
29
+ /**
30
+ * 是否为 URL(必须带协议)
31
+ */
32
+ function isURL(s) {
33
+ try {
34
+ new URL(s);
35
+ return true;
36
+ }
37
+ catch {
38
+ return false;
39
+ }
40
+ }
41
+ // ========== 字符串内容校验 ==========
42
+ function isLowerCase(str) {
43
+ return /^[a-z]+$/.test(str);
44
+ }
45
+ function isUpperCase(str) {
46
+ return /^[A-Z]+$/.test(str);
47
+ }
48
+ function isAlphabets(str) {
49
+ return /^[A-Za-z]+$/.test(str);
50
+ }
51
+ function isName(name) {
52
+ return /^[\u4e00-\u9fa5]{2,4}$/.test(name);
53
+ }
54
+ /**
55
+ * 是否为纯数字字符串(可选:是否允许小数)
56
+ * @param num - 输入字符串
57
+ * @param type - 1: 只允许整数;2: 允许小数(默认)
58
+ */
59
+ function isNum(num, type = 2) {
60
+ if (type === 1) {
61
+ return /^\d+$/.test(num); // 仅整数
62
+ }
63
+ else {
64
+ return /^\d+(\.\d+)?$/.test(num); // 允许小数
65
+ }
66
+ }
67
+ function isFloat(num) {
68
+ return /^-?\d+(\.\d+)?$/.test(num);
69
+ }
70
+ function isNull(val) {
71
+ if (Array.isArray(val))
72
+ return val.length === 0;
73
+ if (val && typeof val === 'object')
74
+ return Object.keys(val).length === 0;
75
+ return val == null || val === '' || val === 'null' || val === 'undefined';
76
+ }
77
+ // ========== 身份证校验 ==========
78
+ function isCardId(code) {
79
+ if (!code || code.length !== 18)
80
+ return false;
81
+ const city = {
82
+ '11': '北京',
83
+ '12': '天津',
84
+ '13': '河北',
85
+ '14': '山西',
86
+ '15': '内蒙古',
87
+ '21': '辽宁',
88
+ '22': '吉林',
89
+ '23': '黑龙江',
90
+ '31': '上海',
91
+ '32': '江苏',
92
+ '33': '浙江',
93
+ '34': '安徽',
94
+ '35': '福建',
95
+ '36': '江西',
96
+ '37': '山东',
97
+ '41': '河南',
98
+ '42': '湖北',
99
+ '43': '湖南',
100
+ '44': '广东',
101
+ '45': '广西',
102
+ '46': '海南',
103
+ '50': '重庆',
104
+ '51': '四川',
105
+ '52': '贵州',
106
+ '53': '云南',
107
+ '54': '西藏',
108
+ '61': '陕西',
109
+ '62': '甘肃',
110
+ '63': '青海',
111
+ '64': '宁夏',
112
+ '65': '新疆',
113
+ '71': '台湾',
114
+ '81': '香港',
115
+ '82': '澳门',
116
+ '91': '国外'
117
+ };
118
+ const province = code.slice(0, 2);
119
+ if (!(province in city))
120
+ return false;
121
+ // 校验格式
122
+ if (!/^\d{17}[\dXx]$/.test(code))
123
+ return false;
124
+ // 校验位计算
125
+ const factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
126
+ const parity = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'];
127
+ let sum = 0;
128
+ for (let i = 0; i < 17; i++) {
129
+ sum += parseInt(code[i], 10) * factor[i];
130
+ }
131
+ const check = parity[sum % 11];
132
+ return check === code[17].toUpperCase();
133
+ }
134
+ // ========== 数值比较校验 ==========
135
+ const toInt = (v) => parseInt(v, 10);
136
+ const toFloat = (v) => parseFloat(v);
137
+ function isIntEqZero(value) {
138
+ return toInt(value) === 0;
139
+ }
140
+ function isIntGtZero(value) {
141
+ return toInt(value) > 0;
142
+ }
143
+ function isIntGteZero(value) {
144
+ return toInt(value) >= 0;
145
+ }
146
+ function isIntNEqZero(value) {
147
+ return toInt(value) !== 0;
148
+ }
149
+ function isIntLtZero(value) {
150
+ return toInt(value) < 0;
151
+ }
152
+ function isIntLteZero(value) {
153
+ return toInt(value) <= 0;
154
+ }
155
+ function isFloatEqZero(value) {
156
+ return toFloat(value) === 0;
157
+ }
158
+ function isFloatGtZero(value) {
159
+ return toFloat(value) > 0;
160
+ }
161
+ function isFloatGteZero(value) {
162
+ return toFloat(value) >= 0;
163
+ }
164
+ function isFloatNEqZero(value) {
165
+ return toFloat(value) !== 0;
166
+ }
167
+ function isFloatLtZero(value) {
168
+ return toFloat(value) < 0;
169
+ }
170
+ function isFloatLteZero(value) {
171
+ return toFloat(value) <= 0;
172
+ }
173
+ function isInteger(value) {
174
+ return /^-?\d+$/.test(value);
175
+ }
176
+ function isNumber(value) {
177
+ return /^-?\d+(\.\d+)?$/.test(value);
178
+ }
179
+ function isNumberGtZero(value) {
180
+ const num = toFloat(value);
181
+ return !isNaN(num) && num >= 0;
182
+ }
183
+ function isDigits(value) {
184
+ return /^\d+$/.test(value);
185
+ }
186
+ // ========== 特定格式校验 ==========
187
+ function isEnglish(value) {
188
+ return /^[A-Za-z]+$/.test(value);
189
+ }
190
+ function isTel(value) {
191
+ return isPhone(value);
192
+ }
193
+ function isQq(value) {
194
+ return /^[1-9]\d{4,12}$/.test(value);
195
+ }
196
+ function isZipCode(value) {
197
+ return /^[1-9]\d{5}$/.test(value); // 中国邮政编码第一位不能为0
198
+ }
199
+ function isPwd(value) {
200
+ return /^[a-zA-Z]\w{5,11}$/.test(value); // 字母开头,6-12位
201
+ }
202
+ function isWeakPwd(value) {
203
+ return /^[a-zA-Z\d!@#$%^&*()_+\-=]+$/.test(value);
204
+ }
205
+ function isStrongPwd(value) {
206
+ return /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*()_+\-=]).{12,}$/.test(value);
207
+ }
208
+ function ip(value) {
209
+ const ipv4 = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;
210
+ if (!ipv4.test(value))
211
+ return false;
212
+ return value.split('.').every((part) => {
213
+ const num = parseInt(part, 10);
214
+ return num >= 0 && num <= 255 && String(num) === part; // 防止 01、001
215
+ });
216
+ }
217
+ function stringCheck(value) {
218
+ return /^[a-zA-Z0-9\u4e00-\u9fa5\-_]+$/.test(value);
219
+ }
220
+ function isChinese(value) {
221
+ return /^[\u4e00-\u9fa5]+$/.test(value);
222
+ }
223
+ function isChineseChar(value) {
224
+ return /^[\u4e00-\u9fa5\u3400-\u4dbf\u{20000}-\u{2a6df}\u{2a700}-\u{2b73f}\u{2b740}-\u{2b81f}\u{2b820}-\u{2ceaf}]+$/u.test(value);
225
+ }
226
+ function isRightfulString(value) {
227
+ return /^[A-Za-z0-9_-]+$/.test(value);
228
+ }
229
+ // 车牌号(简化版,仅支持普通蓝牌/绿牌)
230
+ function isPlateNo(plateNo) {
231
+ // 普通车牌:京A12345,新能源:京AD12345
232
+ return (/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-Z][A-Z0-9]{5}$/.test(plateNo) ||
233
+ /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-Z][A-Z0-9]{6}$/.test(plateNo));
234
+ }
235
+ // ========== 默认导出 ==========
236
+ var validate = {
237
+ isAlphabets,
238
+ isCardId,
239
+ isChinese,
240
+ isChineseChar,
241
+ isDigits,
242
+ isEmail,
243
+ isEnglish,
244
+ isFloat,
245
+ stringCheck,
246
+ isFloatGteZero,
247
+ ip,
248
+ isFloatEqZero,
249
+ isFloatGtZero,
250
+ isFloatLtZero,
251
+ isFloatLteZero,
252
+ isFloatNEqZero,
253
+ isIntEqZero,
254
+ isIntGtZero,
255
+ isIntGteZero,
256
+ isIntLtZero,
257
+ isIntLteZero,
258
+ isIntNEqZero,
259
+ isInteger,
260
+ isLowerCase,
261
+ isMobile,
262
+ isName,
263
+ isNull,
264
+ isNum,
265
+ isNumber,
266
+ isNumberGtZero,
267
+ isPhone,
268
+ isPlateNo,
269
+ isPwd,
270
+ isWeakPwd,
271
+ isStrongPwd,
272
+ isQq,
273
+ isRightfulString,
274
+ isTel,
275
+ isURL,
276
+ isUpperCase,
277
+ isZipCode
278
+ };
279
+
280
+ export { validate as default, ip, isAlphabets, isCardId, isChinese, isChineseChar, isDigits, isEmail, isEnglish, isFloat, isFloatEqZero, isFloatGtZero, isFloatGteZero, isFloatLtZero, isFloatLteZero, isFloatNEqZero, isIntEqZero, isIntGtZero, isIntGteZero, isIntLtZero, isIntLteZero, isIntNEqZero, isInteger, isLowerCase, isMobile, isName, isNull, isNum, isNumber, isNumberGtZero, isPhone, isPlateNo, isPwd, isQq, isRightfulString, isStrongPwd, isTel, isURL, isUpperCase, isWeakPwd, isZipCode, stringCheck };
281
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sources":["../src/validate.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,173 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var validate = require('./validate.cjs');
6
+
7
+ /**
8
+ * @Author : TanRui
9
+ * @WeChat : Tan578853789
10
+ * @File : validator.ts
11
+ * @Date : 2025/10/14
12
+ * @Desc. : 校验方法
13
+ */
14
+ // 通用校验工厂
15
+ const createValidator = (validateFn, message) => {
16
+ return (_rule, value, callback) => {
17
+ if (value != null && value !== '' && !validateFn(value)) {
18
+ callback(new Error(message));
19
+ }
20
+ else {
21
+ callback();
22
+ }
23
+ };
24
+ };
25
+ // 带额外参数的校验
26
+ const isNum = (_rule, value, callback) => {
27
+ if (value != null && value !== '' && !validate.default.isNum(value, 1)) {
28
+ callback(new Error('请输入整数!'));
29
+ }
30
+ else {
31
+ callback();
32
+ }
33
+ };
34
+ // 带额外参数的校验
35
+ const isNumberGtZero = (_rule, value, callback) => {
36
+ if (value != null && value !== '' && !validate.default.isNumberGtZero(value)) {
37
+ callback(new Error('请输入不小于零的数字!'));
38
+ }
39
+ else {
40
+ callback();
41
+ }
42
+ };
43
+ // 通用规则
44
+ const isMobile = createValidator(validate.default.isMobile, '请输入正确的手机号!');
45
+ const isPhone = createValidator(validate.default.isPhone, '请输入正确的电话号码!');
46
+ const isEmail = createValidator(validate.default.isEmail, '请输入有效的邮箱!');
47
+ const isURL = createValidator(validate.default.isURL, '请输入有效的URL!');
48
+ const isLowerCase = createValidator(validate.default.isLowerCase, '请输入小写字母!');
49
+ const isUpperCase = createValidator(validate.default.isUpperCase, '请输入大写字母!');
50
+ const isAlphabets = createValidator(validate.default.isAlphabets, '请输入大小写字母!');
51
+ const isName = createValidator(validate.default.isName, '请输入有效的姓名!');
52
+ const isFloat = createValidator(validate.default.isFloat, '请输入浮点数!');
53
+ const isNull = createValidator(validate.default.isNull, '必须为空!');
54
+ const isCardId = createValidator(validate.default.isCardId, '请输入合法的身份证号!');
55
+ const isIntEqZero = createValidator(validate.default.isIntEqZero, '请输入0!');
56
+ const isIntGtZero = createValidator(validate.default.isIntGtZero, '整数必须大于0!');
57
+ const isIntGteZero = createValidator(validate.default.isIntGteZero, '整数必须大于或等于0!');
58
+ const isIntNEqZero = createValidator(validate.default.isIntNEqZero, '整数必须不等于0!');
59
+ const isIntLtZero = createValidator(validate.default.isIntLtZero, '整数必须小于0!');
60
+ const isIntLteZero = createValidator(validate.default.isIntLteZero, '整数必须小于或等于0!');
61
+ const isFloatEqZero = createValidator(validate.default.isFloatEqZero, '浮点数必须为0!');
62
+ const isFloatGtZero = createValidator(validate.default.isFloatGtZero, '浮点数必须大于0!');
63
+ const isFloatGteZero = createValidator(validate.default.isFloatGteZero, '浮点数必须大于或等于0!');
64
+ const isFloatNEqZero = createValidator(validate.default.isFloatNEqZero, '浮点数必须不等于0!');
65
+ const isFloatLtZero = createValidator(validate.default.isFloatLtZero, '浮点数必须小于0!');
66
+ const isFloatLteZero = createValidator(validate.default.isFloatLteZero, '浮点数必须小于或等于0!');
67
+ const isInteger = createValidator(validate.default.isInteger, '必须为整数!');
68
+ const isNumber = createValidator(validate.default.isNumber, '请输入数字!');
69
+ const isDigits = createValidator(validate.default.isDigits, '只能输入[0-9]数字!');
70
+ const isEnglish = createValidator(validate.default.isEnglish, '只能包含英文字符。');
71
+ const isTel = createValidator(validate.default.isTel, '请正确填写您的联系方式');
72
+ const isQq = createValidator(validate.default.isQq, '请正确填写您QQ号码');
73
+ const isZipCode = createValidator(validate.default.isZipCode, '请正确填写您的邮政编码');
74
+ const isPwd = createValidator(validate.default.isPwd, '以字母开头,长度在6-12之间,只能包含字符、数字和下划线');
75
+ const isWeakPwd = createValidator(validate.default.isWeakPwd, '只能包含字母(大小写)、数字和特殊字符');
76
+ const isStrongPwd = createValidator(validate.default.isStrongPwd, '最小长度 12 位,且必须包含大小写字母、数字和特殊字符');
77
+ const ip = createValidator(validate.default.ip, '请填写正确的IP地址。');
78
+ const stringCheck = createValidator(validate.default.stringCheck, '只能包含中文、英文、数字、下划线等字符');
79
+ const isChinese = createValidator(validate.default.isChinese, '匹配汉字');
80
+ const isChineseChar = createValidator(validate.default.isChineseChar, '匹配中文(包括汉字和字符)');
81
+ const isRightfulString = createValidator(validate.default.isRightfulString, '判断是否为合法字符(a-zA-Z0-9-_)');
82
+ const isPlateNo = createValidator(validate.default.isPlateNo, '请输入合法车牌号');
83
+ /**
84
+ * 校验方法
85
+ * @example password: [{ validator: isWeakPwd, trigger: 'change' }]
86
+ */
87
+ var validator = {
88
+ isAlphabets,
89
+ isCardId,
90
+ isChinese,
91
+ isChineseChar,
92
+ ip,
93
+ isFloatGteZero,
94
+ isNum,
95
+ stringCheck,
96
+ isDigits,
97
+ isEmail,
98
+ isEnglish,
99
+ isFloat,
100
+ isFloatEqZero,
101
+ isFloatGtZero,
102
+ isFloatLtZero,
103
+ isFloatLteZero,
104
+ isFloatNEqZero,
105
+ isIntEqZero,
106
+ isIntGtZero,
107
+ isIntGteZero,
108
+ isIntLtZero,
109
+ isIntLteZero,
110
+ isIntNEqZero,
111
+ isInteger,
112
+ isLowerCase,
113
+ isMobile,
114
+ isName,
115
+ isNull,
116
+ isNumber,
117
+ isNumberGtZero,
118
+ isPhone,
119
+ isPlateNo,
120
+ isPwd,
121
+ isWeakPwd,
122
+ isStrongPwd,
123
+ isQq,
124
+ isRightfulString,
125
+ isTel,
126
+ isURL,
127
+ isUpperCase,
128
+ isZipCode
129
+ };
130
+
131
+ exports.default = validator;
132
+ exports.ip = ip;
133
+ exports.isAlphabets = isAlphabets;
134
+ exports.isCardId = isCardId;
135
+ exports.isChinese = isChinese;
136
+ exports.isChineseChar = isChineseChar;
137
+ exports.isDigits = isDigits;
138
+ exports.isEmail = isEmail;
139
+ exports.isEnglish = isEnglish;
140
+ exports.isFloat = isFloat;
141
+ exports.isFloatEqZero = isFloatEqZero;
142
+ exports.isFloatGtZero = isFloatGtZero;
143
+ exports.isFloatGteZero = isFloatGteZero;
144
+ exports.isFloatLtZero = isFloatLtZero;
145
+ exports.isFloatLteZero = isFloatLteZero;
146
+ exports.isFloatNEqZero = isFloatNEqZero;
147
+ exports.isIntEqZero = isIntEqZero;
148
+ exports.isIntGtZero = isIntGtZero;
149
+ exports.isIntGteZero = isIntGteZero;
150
+ exports.isIntLtZero = isIntLtZero;
151
+ exports.isIntLteZero = isIntLteZero;
152
+ exports.isIntNEqZero = isIntNEqZero;
153
+ exports.isInteger = isInteger;
154
+ exports.isLowerCase = isLowerCase;
155
+ exports.isMobile = isMobile;
156
+ exports.isName = isName;
157
+ exports.isNull = isNull;
158
+ exports.isNum = isNum;
159
+ exports.isNumber = isNumber;
160
+ exports.isNumberGtZero = isNumberGtZero;
161
+ exports.isPhone = isPhone;
162
+ exports.isPlateNo = isPlateNo;
163
+ exports.isPwd = isPwd;
164
+ exports.isQq = isQq;
165
+ exports.isRightfulString = isRightfulString;
166
+ exports.isStrongPwd = isStrongPwd;
167
+ exports.isTel = isTel;
168
+ exports.isURL = isURL;
169
+ exports.isUpperCase = isUpperCase;
170
+ exports.isWeakPwd = isWeakPwd;
171
+ exports.isZipCode = isZipCode;
172
+ exports.stringCheck = stringCheck;
173
+ //# sourceMappingURL=validator.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.cjs","sources":["../src/validator.ts"],"sourcesContent":[null],"names":["validate"],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * @Author : TanRui
3
+ * @WeChat : Tan578853789
4
+ * @File : validator.ts
5
+ * @Date : 2025/10/14
6
+ * @Desc. : 校验方法
7
+ */
8
+ import type { InternalRuleItem } from 'async-validator';
9
+ type ValidatorRuleFunction = (rule: InternalRuleItem, value: string | undefined, callback: (error?: Error) => void) => void;
10
+ export declare const isNum: ValidatorRuleFunction;
11
+ export declare const isNumberGtZero: ValidatorRuleFunction;
12
+ export declare const isMobile: ValidatorRuleFunction;
13
+ export declare const isPhone: ValidatorRuleFunction;
14
+ export declare const isEmail: ValidatorRuleFunction;
15
+ export declare const isURL: ValidatorRuleFunction;
16
+ export declare const isLowerCase: ValidatorRuleFunction;
17
+ export declare const isUpperCase: ValidatorRuleFunction;
18
+ export declare const isAlphabets: ValidatorRuleFunction;
19
+ export declare const isName: ValidatorRuleFunction;
20
+ export declare const isFloat: ValidatorRuleFunction;
21
+ export declare const isNull: ValidatorRuleFunction;
22
+ export declare const isCardId: ValidatorRuleFunction;
23
+ export declare const isIntEqZero: ValidatorRuleFunction;
24
+ export declare const isIntGtZero: ValidatorRuleFunction;
25
+ export declare const isIntGteZero: ValidatorRuleFunction;
26
+ export declare const isIntNEqZero: ValidatorRuleFunction;
27
+ export declare const isIntLtZero: ValidatorRuleFunction;
28
+ export declare const isIntLteZero: ValidatorRuleFunction;
29
+ export declare const isFloatEqZero: ValidatorRuleFunction;
30
+ export declare const isFloatGtZero: ValidatorRuleFunction;
31
+ export declare const isFloatGteZero: ValidatorRuleFunction;
32
+ export declare const isFloatNEqZero: ValidatorRuleFunction;
33
+ export declare const isFloatLtZero: ValidatorRuleFunction;
34
+ export declare const isFloatLteZero: ValidatorRuleFunction;
35
+ export declare const isInteger: ValidatorRuleFunction;
36
+ export declare const isNumber: ValidatorRuleFunction;
37
+ export declare const isDigits: ValidatorRuleFunction;
38
+ export declare const isEnglish: ValidatorRuleFunction;
39
+ export declare const isTel: ValidatorRuleFunction;
40
+ export declare const isQq: ValidatorRuleFunction;
41
+ export declare const isZipCode: ValidatorRuleFunction;
42
+ export declare const isPwd: ValidatorRuleFunction;
43
+ export declare const isWeakPwd: ValidatorRuleFunction;
44
+ export declare const isStrongPwd: ValidatorRuleFunction;
45
+ export declare const ip: ValidatorRuleFunction;
46
+ export declare const stringCheck: ValidatorRuleFunction;
47
+ export declare const isChinese: ValidatorRuleFunction;
48
+ export declare const isChineseChar: ValidatorRuleFunction;
49
+ export declare const isRightfulString: ValidatorRuleFunction;
50
+ export declare const isPlateNo: ValidatorRuleFunction;
51
+ /**
52
+ * 校验方法
53
+ * @example password: [{ validator: isWeakPwd, trigger: 'change' }]
54
+ */
55
+ declare const _default: {
56
+ isAlphabets: ValidatorRuleFunction;
57
+ isCardId: ValidatorRuleFunction;
58
+ isChinese: ValidatorRuleFunction;
59
+ isChineseChar: ValidatorRuleFunction;
60
+ ip: ValidatorRuleFunction;
61
+ isFloatGteZero: ValidatorRuleFunction;
62
+ isNum: ValidatorRuleFunction;
63
+ stringCheck: ValidatorRuleFunction;
64
+ isDigits: ValidatorRuleFunction;
65
+ isEmail: ValidatorRuleFunction;
66
+ isEnglish: ValidatorRuleFunction;
67
+ isFloat: ValidatorRuleFunction;
68
+ isFloatEqZero: ValidatorRuleFunction;
69
+ isFloatGtZero: ValidatorRuleFunction;
70
+ isFloatLtZero: ValidatorRuleFunction;
71
+ isFloatLteZero: ValidatorRuleFunction;
72
+ isFloatNEqZero: ValidatorRuleFunction;
73
+ isIntEqZero: ValidatorRuleFunction;
74
+ isIntGtZero: ValidatorRuleFunction;
75
+ isIntGteZero: ValidatorRuleFunction;
76
+ isIntLtZero: ValidatorRuleFunction;
77
+ isIntLteZero: ValidatorRuleFunction;
78
+ isIntNEqZero: ValidatorRuleFunction;
79
+ isInteger: ValidatorRuleFunction;
80
+ isLowerCase: ValidatorRuleFunction;
81
+ isMobile: ValidatorRuleFunction;
82
+ isName: ValidatorRuleFunction;
83
+ isNull: ValidatorRuleFunction;
84
+ isNumber: ValidatorRuleFunction;
85
+ isNumberGtZero: ValidatorRuleFunction;
86
+ isPhone: ValidatorRuleFunction;
87
+ isPlateNo: ValidatorRuleFunction;
88
+ isPwd: ValidatorRuleFunction;
89
+ isWeakPwd: ValidatorRuleFunction;
90
+ isStrongPwd: ValidatorRuleFunction;
91
+ isQq: ValidatorRuleFunction;
92
+ isRightfulString: ValidatorRuleFunction;
93
+ isTel: ValidatorRuleFunction;
94
+ isURL: ValidatorRuleFunction;
95
+ isUpperCase: ValidatorRuleFunction;
96
+ isZipCode: ValidatorRuleFunction;
97
+ };
98
+ export default _default;
99
+ //# sourceMappingURL=validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAGvD,KAAK,qBAAqB,GAAG,CAC3B,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,KAC9B,IAAI,CAAA;AAiBT,eAAO,MAAM,KAAK,EAAE,qBAMnB,CAAA;AAGD,eAAO,MAAM,cAAc,EAAE,qBAM5B,CAAA;AAGD,eAAO,MAAM,QAAQ,uBAAmD,CAAA;AACxE,eAAO,MAAM,OAAO,uBAAmD,CAAA;AACvE,eAAO,MAAM,OAAO,uBAAiD,CAAA;AACrE,eAAO,MAAM,KAAK,uBAAgD,CAAA;AAClE,eAAO,MAAM,WAAW,uBAAoD,CAAA;AAC5E,eAAO,MAAM,WAAW,uBAAoD,CAAA;AAC5E,eAAO,MAAM,WAAW,uBAAqD,CAAA;AAC7E,eAAO,MAAM,MAAM,uBAAgD,CAAA;AACnE,eAAO,MAAM,OAAO,uBAA+C,CAAA;AACnE,eAAO,MAAM,MAAM,uBAA4C,CAAA;AAC/D,eAAO,MAAM,QAAQ,uBAAoD,CAAA;AACzE,eAAO,MAAM,WAAW,uBAAiD,CAAA;AACzE,eAAO,MAAM,WAAW,uBAAoD,CAAA;AAC5E,eAAO,MAAM,YAAY,uBAAwD,CAAA;AACjF,eAAO,MAAM,YAAY,uBAAsD,CAAA;AAC/E,eAAO,MAAM,WAAW,uBAAoD,CAAA;AAC5E,eAAO,MAAM,YAAY,uBAAwD,CAAA;AACjF,eAAO,MAAM,aAAa,uBAAsD,CAAA;AAChF,eAAO,MAAM,aAAa,uBAAuD,CAAA;AACjF,eAAO,MAAM,cAAc,uBAA2D,CAAA;AACtF,eAAO,MAAM,cAAc,uBAAyD,CAAA;AACpF,eAAO,MAAM,aAAa,uBAAuD,CAAA;AACjF,eAAO,MAAM,cAAc,uBAA2D,CAAA;AACtF,eAAO,MAAM,SAAS,uBAAgD,CAAA;AACtE,eAAO,MAAM,QAAQ,uBAA+C,CAAA;AACpE,eAAO,MAAM,QAAQ,uBAAqD,CAAA;AAC1E,eAAO,MAAM,SAAS,uBAAmD,CAAA;AACzE,eAAO,MAAM,KAAK,uBAAiD,CAAA;AACnE,eAAO,MAAM,IAAI,uBAA+C,CAAA;AAChE,eAAO,MAAM,SAAS,uBAAqD,CAAA;AAC3E,eAAO,MAAM,KAAK,uBAGjB,CAAA;AACD,eAAO,MAAM,SAAS,uBAGrB,CAAA;AACD,eAAO,MAAM,WAAW,uBAGvB,CAAA;AACD,eAAO,MAAM,EAAE,uBAA8C,CAAA;AAC7D,eAAO,MAAM,WAAW,uBAGvB,CAAA;AACD,eAAO,MAAM,SAAS,uBAA8C,CAAA;AACpE,eAAO,MAAM,aAAa,uBAA2D,CAAA;AACrF,eAAO,MAAM,gBAAgB,uBAG5B,CAAA;AACD,eAAO,MAAM,SAAS,uBAAkD,CAAA;AAExE;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACH,wBA0CC"}
@@ -0,0 +1,128 @@
1
+ import validate from './validate.js';
2
+
3
+ /**
4
+ * @Author : TanRui
5
+ * @WeChat : Tan578853789
6
+ * @File : validator.ts
7
+ * @Date : 2025/10/14
8
+ * @Desc. : 校验方法
9
+ */
10
+ // 通用校验工厂
11
+ const createValidator = (validateFn, message) => {
12
+ return (_rule, value, callback) => {
13
+ if (value != null && value !== '' && !validateFn(value)) {
14
+ callback(new Error(message));
15
+ }
16
+ else {
17
+ callback();
18
+ }
19
+ };
20
+ };
21
+ // 带额外参数的校验
22
+ const isNum = (_rule, value, callback) => {
23
+ if (value != null && value !== '' && !validate.isNum(value, 1)) {
24
+ callback(new Error('请输入整数!'));
25
+ }
26
+ else {
27
+ callback();
28
+ }
29
+ };
30
+ // 带额外参数的校验
31
+ const isNumberGtZero = (_rule, value, callback) => {
32
+ if (value != null && value !== '' && !validate.isNumberGtZero(value)) {
33
+ callback(new Error('请输入不小于零的数字!'));
34
+ }
35
+ else {
36
+ callback();
37
+ }
38
+ };
39
+ // 通用规则
40
+ const isMobile = createValidator(validate.isMobile, '请输入正确的手机号!');
41
+ const isPhone = createValidator(validate.isPhone, '请输入正确的电话号码!');
42
+ const isEmail = createValidator(validate.isEmail, '请输入有效的邮箱!');
43
+ const isURL = createValidator(validate.isURL, '请输入有效的URL!');
44
+ const isLowerCase = createValidator(validate.isLowerCase, '请输入小写字母!');
45
+ const isUpperCase = createValidator(validate.isUpperCase, '请输入大写字母!');
46
+ const isAlphabets = createValidator(validate.isAlphabets, '请输入大小写字母!');
47
+ const isName = createValidator(validate.isName, '请输入有效的姓名!');
48
+ const isFloat = createValidator(validate.isFloat, '请输入浮点数!');
49
+ const isNull = createValidator(validate.isNull, '必须为空!');
50
+ const isCardId = createValidator(validate.isCardId, '请输入合法的身份证号!');
51
+ const isIntEqZero = createValidator(validate.isIntEqZero, '请输入0!');
52
+ const isIntGtZero = createValidator(validate.isIntGtZero, '整数必须大于0!');
53
+ const isIntGteZero = createValidator(validate.isIntGteZero, '整数必须大于或等于0!');
54
+ const isIntNEqZero = createValidator(validate.isIntNEqZero, '整数必须不等于0!');
55
+ const isIntLtZero = createValidator(validate.isIntLtZero, '整数必须小于0!');
56
+ const isIntLteZero = createValidator(validate.isIntLteZero, '整数必须小于或等于0!');
57
+ const isFloatEqZero = createValidator(validate.isFloatEqZero, '浮点数必须为0!');
58
+ const isFloatGtZero = createValidator(validate.isFloatGtZero, '浮点数必须大于0!');
59
+ const isFloatGteZero = createValidator(validate.isFloatGteZero, '浮点数必须大于或等于0!');
60
+ const isFloatNEqZero = createValidator(validate.isFloatNEqZero, '浮点数必须不等于0!');
61
+ const isFloatLtZero = createValidator(validate.isFloatLtZero, '浮点数必须小于0!');
62
+ const isFloatLteZero = createValidator(validate.isFloatLteZero, '浮点数必须小于或等于0!');
63
+ const isInteger = createValidator(validate.isInteger, '必须为整数!');
64
+ const isNumber = createValidator(validate.isNumber, '请输入数字!');
65
+ const isDigits = createValidator(validate.isDigits, '只能输入[0-9]数字!');
66
+ const isEnglish = createValidator(validate.isEnglish, '只能包含英文字符。');
67
+ const isTel = createValidator(validate.isTel, '请正确填写您的联系方式');
68
+ const isQq = createValidator(validate.isQq, '请正确填写您QQ号码');
69
+ const isZipCode = createValidator(validate.isZipCode, '请正确填写您的邮政编码');
70
+ const isPwd = createValidator(validate.isPwd, '以字母开头,长度在6-12之间,只能包含字符、数字和下划线');
71
+ const isWeakPwd = createValidator(validate.isWeakPwd, '只能包含字母(大小写)、数字和特殊字符');
72
+ const isStrongPwd = createValidator(validate.isStrongPwd, '最小长度 12 位,且必须包含大小写字母、数字和特殊字符');
73
+ const ip = createValidator(validate.ip, '请填写正确的IP地址。');
74
+ const stringCheck = createValidator(validate.stringCheck, '只能包含中文、英文、数字、下划线等字符');
75
+ const isChinese = createValidator(validate.isChinese, '匹配汉字');
76
+ const isChineseChar = createValidator(validate.isChineseChar, '匹配中文(包括汉字和字符)');
77
+ const isRightfulString = createValidator(validate.isRightfulString, '判断是否为合法字符(a-zA-Z0-9-_)');
78
+ const isPlateNo = createValidator(validate.isPlateNo, '请输入合法车牌号');
79
+ /**
80
+ * 校验方法
81
+ * @example password: [{ validator: isWeakPwd, trigger: 'change' }]
82
+ */
83
+ var validator = {
84
+ isAlphabets,
85
+ isCardId,
86
+ isChinese,
87
+ isChineseChar,
88
+ ip,
89
+ isFloatGteZero,
90
+ isNum,
91
+ stringCheck,
92
+ isDigits,
93
+ isEmail,
94
+ isEnglish,
95
+ isFloat,
96
+ isFloatEqZero,
97
+ isFloatGtZero,
98
+ isFloatLtZero,
99
+ isFloatLteZero,
100
+ isFloatNEqZero,
101
+ isIntEqZero,
102
+ isIntGtZero,
103
+ isIntGteZero,
104
+ isIntLtZero,
105
+ isIntLteZero,
106
+ isIntNEqZero,
107
+ isInteger,
108
+ isLowerCase,
109
+ isMobile,
110
+ isName,
111
+ isNull,
112
+ isNumber,
113
+ isNumberGtZero,
114
+ isPhone,
115
+ isPlateNo,
116
+ isPwd,
117
+ isWeakPwd,
118
+ isStrongPwd,
119
+ isQq,
120
+ isRightfulString,
121
+ isTel,
122
+ isURL,
123
+ isUpperCase,
124
+ isZipCode
125
+ };
126
+
127
+ export { validator as default, ip, isAlphabets, isCardId, isChinese, isChineseChar, isDigits, isEmail, isEnglish, isFloat, isFloatEqZero, isFloatGtZero, isFloatGteZero, isFloatLtZero, isFloatLteZero, isFloatNEqZero, isIntEqZero, isIntGtZero, isIntGteZero, isIntLtZero, isIntLteZero, isIntNEqZero, isInteger, isLowerCase, isMobile, isName, isNull, isNum, isNumber, isNumberGtZero, isPhone, isPlateNo, isPwd, isQq, isRightfulString, isStrongPwd, isTel, isURL, isUpperCase, isWeakPwd, isZipCode, stringCheck };
128
+ //# sourceMappingURL=validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.js","sources":["../src/validator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jnrs/shared",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "description": "巨能前端工程化开发,通用工具包",
5
5
  "keywords": [
6
6
  "jnrs",
@@ -44,12 +44,23 @@
44
44
  "import": "./dist/uuid.js",
45
45
  "require": "./dist/uuid.cjs",
46
46
  "types": "./dist/uuid.d.ts"
47
+ },
48
+ "./validate": {
49
+ "import": "./dist/validate.js",
50
+ "require": "./dist/validate.cjs",
51
+ "types": "./dist/validate.d.ts"
52
+ },
53
+ "./validator": {
54
+ "import": "./dist/validator.js",
55
+ "require": "./dist/validator.cjs",
56
+ "types": "./dist/validator.d.ts"
47
57
  }
48
58
  },
49
59
  "dependencies": {
50
60
  "date-fns": "^4.1.0",
51
61
  "lodash-es": "^4.17.21",
52
- "uuid": "^13.0.0"
62
+ "uuid": "^13.0.0",
63
+ "async-validator": "^4.2.5"
53
64
  },
54
65
  "devDependencies": {
55
66
  "@rollup/plugin-node-resolve": "^16.0.3",