util-helpers 4.4.0 → 4.5.0
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 +1 -0
- package/dist/util-helpers.js +106 -25
- package/dist/util-helpers.min.js +1 -1
- package/dist/util-helpers.min.js.map +1 -1
- package/esm/formatBankCard.js +1 -2
- package/esm/formatMobile.js +38 -0
- package/esm/index.js +1 -0
- package/esm/isHMCard.js +12 -0
- package/esm/isIdCard.js +1 -1
- package/esm/isTWCard.js +6 -0
- package/esm/parseIdCard.js +34 -14
- package/esm/safeDate.js +3 -2
- package/esm/setDataURLPrefix.js +1 -2
- package/esm/validatePassword.js +17 -1
- package/lib/formatBankCard.js +1 -2
- package/lib/formatMobile.js +48 -0
- package/lib/index.js +8 -0
- package/lib/isHMCard.js +12 -0
- package/lib/isIdCard.js +1 -1
- package/lib/isTWCard.js +6 -0
- package/lib/parseIdCard.js +34 -14
- package/lib/safeDate.js +3 -2
- package/lib/setDataURLPrefix.js +1 -2
- package/lib/validatePassword.js +17 -1
- package/package.json +1 -1
- package/types/formatMobile.d.ts +20 -0
- package/types/index.d.ts +1 -0
- package/types/isHMCard.d.ts +12 -0
- package/types/isTWCard.d.ts +6 -0
- package/types/parseIdCard.d.ts +84 -25
- package/types/safeDate.d.ts +3 -2
- package/types/setDataURLPrefix.d.ts +1 -2
- package/types/validatePassword.d.ts +58 -12
package/types/parseIdCard.d.ts
CHANGED
|
@@ -1,4 +1,75 @@
|
|
|
1
1
|
export default parseIdCard;
|
|
2
|
+
/**
|
|
3
|
+
* - 解析身份证原数据
|
|
4
|
+
*/
|
|
5
|
+
export type IdCardOrigin = {
|
|
6
|
+
/**
|
|
7
|
+
* - 省份编码
|
|
8
|
+
*/
|
|
9
|
+
province: string;
|
|
10
|
+
/**
|
|
11
|
+
* - 城市编码
|
|
12
|
+
*/
|
|
13
|
+
city: string;
|
|
14
|
+
/**
|
|
15
|
+
* - 地区编码
|
|
16
|
+
*/
|
|
17
|
+
area: string;
|
|
18
|
+
/**
|
|
19
|
+
* - 出生年
|
|
20
|
+
*/
|
|
21
|
+
year: string;
|
|
22
|
+
/**
|
|
23
|
+
* - 出生月
|
|
24
|
+
*/
|
|
25
|
+
month: string;
|
|
26
|
+
/**
|
|
27
|
+
* - 出生日
|
|
28
|
+
*/
|
|
29
|
+
day: string;
|
|
30
|
+
/**
|
|
31
|
+
* - 性别 能整除2为女,否则为男
|
|
32
|
+
*/
|
|
33
|
+
gender: string;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* - 身份证信息
|
|
37
|
+
*/
|
|
38
|
+
export type IdCardInfo = {
|
|
39
|
+
/**
|
|
40
|
+
* - 省份
|
|
41
|
+
*/
|
|
42
|
+
province: string;
|
|
43
|
+
/**
|
|
44
|
+
* - 生日
|
|
45
|
+
*/
|
|
46
|
+
birthday: string;
|
|
47
|
+
/**
|
|
48
|
+
* - 性别
|
|
49
|
+
*/
|
|
50
|
+
gender: string;
|
|
51
|
+
/**
|
|
52
|
+
* - 解析身份证原数据
|
|
53
|
+
*/
|
|
54
|
+
origin: IdCardOrigin;
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* @typedef {Object} IdCardOrigin - 解析身份证原数据
|
|
58
|
+
* @property {string} province - 省份编码
|
|
59
|
+
* @property {string} city - 城市编码
|
|
60
|
+
* @property {string} area - 地区编码
|
|
61
|
+
* @property {string} year - 出生年
|
|
62
|
+
* @property {string} month - 出生月
|
|
63
|
+
* @property {string} day - 出生日
|
|
64
|
+
* @property {string} gender - 性别 能整除2为女,否则为男
|
|
65
|
+
*/
|
|
66
|
+
/**
|
|
67
|
+
* @typedef {Object} IdCardInfo - 身份证信息
|
|
68
|
+
* @property {string} province - 省份
|
|
69
|
+
* @property {string} birthday - 生日
|
|
70
|
+
* @property {string} gender - 性别
|
|
71
|
+
* @property {IdCardOrigin} origin - 解析身份证原数据
|
|
72
|
+
*/
|
|
2
73
|
/**
|
|
3
74
|
* 解析身份证号码,支持15、18位身份证号码
|
|
4
75
|
*
|
|
@@ -7,7 +78,7 @@ export default parseIdCard;
|
|
|
7
78
|
* @since 4.0.0
|
|
8
79
|
* @see 参考 {@link https://baike.baidu.com/item/居民身份证号码|居民身份证号码}
|
|
9
80
|
* @param {string} id 身份证号码,支持15位
|
|
10
|
-
* @returns null 或 省份、生日、性别,省/市/区/年/月/日/性别编码
|
|
81
|
+
* @returns {null|IdCardInfo} null 或 省份、生日、性别,省/市/区/年/月/日/性别编码
|
|
11
82
|
* @example
|
|
12
83
|
* parseIdCard('123456789123456');
|
|
13
84
|
* // => null
|
|
@@ -16,33 +87,21 @@ export default parseIdCard;
|
|
|
16
87
|
* parseIdCard('130701199310302288')
|
|
17
88
|
* // =>
|
|
18
89
|
* {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
90
|
+
* birthday: "1993-10-30",
|
|
91
|
+
* gender: "女",
|
|
92
|
+
* origin: { province: "13", city: "07", area: "01", year: "1993", month: "10", day: "30", gender: "8" },
|
|
93
|
+
* province: "河北省"
|
|
94
|
+
* }
|
|
95
|
+
*
|
|
24
96
|
* // 15位身份证号码
|
|
25
97
|
* parseIdCard('130701931030228');
|
|
26
98
|
* // =>
|
|
27
99
|
* {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
100
|
+
* birthday: "93-10-30",
|
|
101
|
+
* gender: "女",
|
|
102
|
+
* origin: { province: "13", city: "07", area: "01", year: "93", month: "10", day: "30", gender: "8" },
|
|
103
|
+
* province: "河北省"
|
|
104
|
+
* }
|
|
33
105
|
*
|
|
34
106
|
*/
|
|
35
|
-
declare function parseIdCard(id: string):
|
|
36
|
-
province: string;
|
|
37
|
-
birthday: string;
|
|
38
|
-
gender: string;
|
|
39
|
-
origin: {
|
|
40
|
-
province: string;
|
|
41
|
-
city: string;
|
|
42
|
-
area: string;
|
|
43
|
-
year: string;
|
|
44
|
-
month: string;
|
|
45
|
-
day: string;
|
|
46
|
-
gender: string;
|
|
47
|
-
};
|
|
48
|
-
} | null;
|
|
107
|
+
declare function parseIdCard(id: string): null | IdCardInfo;
|
package/types/safeDate.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export default safeDate;
|
|
2
2
|
/**
|
|
3
|
-
* 创建一个 Date
|
|
3
|
+
* 创建一个 Date 实例日期对象,同 new Date() 。<br/>
|
|
4
|
+
* 规避了苹果设备浏览器不支持部分格式(YYYY-MM-DD HH-mm 或 YYYY.MM.DD)。
|
|
4
5
|
*
|
|
5
6
|
* @static
|
|
6
7
|
* @alias module:Processor.safeDate
|
|
@@ -8,7 +9,7 @@ export default safeDate;
|
|
|
8
9
|
* @since 4.4.0
|
|
9
10
|
* @param {string|number|Date} [value] 日期时间字符串、毫秒数、日期对象
|
|
10
11
|
* @param {...number} args 月/日/时/分/秒/毫秒
|
|
11
|
-
* @returns {Date} Date
|
|
12
|
+
* @returns {Date} Date 实例日期对象
|
|
12
13
|
* @example
|
|
13
14
|
* safeDate('2022-1-1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
|
|
14
15
|
* safeDate('2022/1/1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
|
|
@@ -1,4 +1,60 @@
|
|
|
1
1
|
export default validatePassword;
|
|
2
|
+
/**
|
|
3
|
+
* - 验证密码的包含内容
|
|
4
|
+
*/
|
|
5
|
+
export type PasswordContaines = {
|
|
6
|
+
/**
|
|
7
|
+
* - 包含数字
|
|
8
|
+
*/
|
|
9
|
+
number: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* - 包含小写字母
|
|
12
|
+
*/
|
|
13
|
+
lowerCaseLetter: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* - 包含大写字母
|
|
16
|
+
*/
|
|
17
|
+
upperCaseLetter: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* - 包含特殊字符
|
|
20
|
+
*/
|
|
21
|
+
specialCharacter: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* - 包含非法字符
|
|
24
|
+
*/
|
|
25
|
+
unallowableCharacter: boolean;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* - 验证结果
|
|
29
|
+
*/
|
|
30
|
+
export type ValidatePasswordReturn = {
|
|
31
|
+
/**
|
|
32
|
+
* - 验证结果,根据密码强度、是否包含非法字符得出
|
|
33
|
+
*/
|
|
34
|
+
validated: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* - 强度级别,包含数字/大小写字母/特殊字符
|
|
37
|
+
*/
|
|
38
|
+
level: number;
|
|
39
|
+
/**
|
|
40
|
+
* - 包含内容
|
|
41
|
+
*/
|
|
42
|
+
containes: PasswordContaines;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* @typedef {Object} PasswordContaines - 验证密码的包含内容
|
|
46
|
+
* @property {boolean} number - 包含数字
|
|
47
|
+
* @property {boolean} lowerCaseLetter - 包含小写字母
|
|
48
|
+
* @property {boolean} upperCaseLetter - 包含大写字母
|
|
49
|
+
* @property {boolean} specialCharacter - 包含特殊字符
|
|
50
|
+
* @property {boolean} unallowableCharacter - 包含非法字符
|
|
51
|
+
*/
|
|
52
|
+
/**
|
|
53
|
+
* @typedef {Object} ValidatePasswordReturn - 验证结果
|
|
54
|
+
* @property {boolean} validated - 验证结果,根据密码强度、是否包含非法字符得出
|
|
55
|
+
* @property {number} level - 强度级别,包含数字/大小写字母/特殊字符
|
|
56
|
+
* @property {PasswordContaines} containes - 包含内容
|
|
57
|
+
*/
|
|
2
58
|
/**
|
|
3
59
|
* 验证密码(数字、大小写字母、特殊字符、非法字符)
|
|
4
60
|
*
|
|
@@ -11,7 +67,7 @@ export default validatePassword;
|
|
|
11
67
|
* @param {number} [options.level=2] 密码强度 1-包含一种字符 2-包含两种字符 3-包含三种字符。(大写字母、小写字母、数字、特殊字符)
|
|
12
68
|
* @param {boolean} [options.ignoreCase=false] 是否忽略大小写,为 ture 时,大小写字母视为一种字符
|
|
13
69
|
* @param {string} [options.special="!@#$%^&*()-=_+[]\|{},./?<>~"] 支持的特殊字符
|
|
14
|
-
* @returns 验证结果
|
|
70
|
+
* @returns {ValidatePasswordReturn} 验证结果
|
|
15
71
|
* @example
|
|
16
72
|
*
|
|
17
73
|
* validatePassword('a12345678');
|
|
@@ -75,14 +131,4 @@ declare function validatePassword(value: string, { level, ignoreCase, special }?
|
|
|
75
131
|
level?: number | undefined;
|
|
76
132
|
ignoreCase?: boolean | undefined;
|
|
77
133
|
special?: string | undefined;
|
|
78
|
-
} | undefined):
|
|
79
|
-
validated: boolean;
|
|
80
|
-
level: number;
|
|
81
|
-
containes: {
|
|
82
|
-
number: boolean;
|
|
83
|
-
lowerCaseLetter: boolean;
|
|
84
|
-
upperCaseLetter: boolean;
|
|
85
|
-
specialCharacter: boolean;
|
|
86
|
-
unallowableCharacter: boolean;
|
|
87
|
-
};
|
|
88
|
-
};
|
|
134
|
+
} | undefined): ValidatePasswordReturn;
|