util-helpers 4.12.4 → 4.12.7
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 +9 -5
- package/dist/util-helpers.js +225 -363
- package/dist/util-helpers.js.map +1 -1
- package/dist/util-helpers.min.js +1 -1
- package/dist/util-helpers.min.js.map +1 -1
- package/esm/bytesToSize.js +5 -11
- package/esm/calculateCursorPosition.js +1 -1
- package/esm/dataURLToBlob.js +1 -1
- package/esm/divide.js +1 -0
- package/esm/formatBankCard.js +4 -8
- package/esm/formatMobile.js +9 -7
- package/esm/formatMoney.js +8 -14
- package/esm/isBankCard.js +6 -11
- package/esm/isBusinessLicense.js +7 -10
- package/esm/isChinese.js +10 -17
- package/esm/isEmail.js +2 -5
- package/esm/isHMCard.js +8 -8
- package/esm/isIPv4.js +4 -11
- package/esm/isIPv6.js +11 -29
- package/esm/isIdCard.js +9 -12
- package/esm/isMobile.js +2 -5
- package/esm/isPassport.js +2 -5
- package/esm/isPassword.js +14 -21
- package/esm/isPostcode.js +2 -5
- package/esm/isPromiseLike.js +4 -8
- package/esm/isQQ.js +2 -5
- package/esm/isSocialCreditCode.js +6 -11
- package/esm/isSwiftCode.js +5 -5
- package/esm/isTWCard.js +7 -4
- package/esm/isTelephone.js +7 -10
- package/esm/isUrl.js +8 -20
- package/esm/isVehicle.js +9 -14
- package/esm/isWX.js +2 -5
- package/esm/minus.js +4 -8
- package/esm/normalizeString.js +2 -0
- package/esm/numberToChinese.js +13 -19
- package/esm/padZero.js +9 -8
- package/esm/parseIdCard.js +8 -17
- package/esm/plus.js +4 -8
- package/esm/randomString.js +2 -0
- package/esm/replaceChar.js +9 -17
- package/esm/round.js +4 -8
- package/esm/safeDate.js +2 -0
- package/esm/setDataURLPrefix.js +2 -0
- package/esm/times.js +4 -8
- package/esm/utils/config.js +1 -1
- package/esm/utils/math.util.js +4 -9
- package/esm/waitTime.js +3 -1
- package/lib/bytesToSize.js +5 -11
- package/lib/calculateCursorPosition.js +1 -1
- package/lib/dataURLToBlob.js +1 -1
- package/lib/divide.js +1 -0
- package/lib/formatBankCard.js +4 -8
- package/lib/formatMobile.js +9 -7
- package/lib/formatMoney.js +8 -14
- package/lib/isBankCard.js +6 -11
- package/lib/isBusinessLicense.js +7 -10
- package/lib/isChinese.js +10 -17
- package/lib/isEmail.js +2 -5
- package/lib/isHMCard.js +8 -8
- package/lib/isIPv4.js +4 -11
- package/lib/isIPv6.js +11 -29
- package/lib/isIdCard.js +9 -12
- package/lib/isMobile.js +2 -5
- package/lib/isPassport.js +2 -5
- package/lib/isPassword.js +14 -21
- package/lib/isPostcode.js +2 -5
- package/lib/isPromiseLike.js +4 -8
- package/lib/isQQ.js +2 -5
- package/lib/isSocialCreditCode.js +6 -11
- package/lib/isSwiftCode.js +5 -5
- package/lib/isTWCard.js +7 -4
- package/lib/isTelephone.js +7 -10
- package/lib/isUrl.js +8 -20
- package/lib/isVehicle.js +9 -14
- package/lib/isWX.js +2 -5
- package/lib/minus.js +4 -8
- package/lib/normalizeString.js +2 -0
- package/lib/numberToChinese.js +13 -19
- package/lib/padZero.js +9 -8
- package/lib/parseIdCard.js +8 -19
- package/lib/plus.js +4 -8
- package/lib/randomString.js +2 -0
- package/lib/replaceChar.js +9 -17
- package/lib/round.js +4 -8
- package/lib/safeDate.js +2 -0
- package/lib/setDataURLPrefix.js +2 -0
- package/lib/times.js +4 -8
- package/lib/utils/config.js +1 -1
- package/lib/utils/math.util.js +4 -9
- package/lib/waitTime.js +3 -1
- package/package.json +1 -1
- package/types/src/bytesToSize.d.ts +4 -10
- package/types/src/dataURLToBlob.d.ts +1 -1
- package/types/src/divide.d.ts +1 -0
- package/types/src/formatBankCard.d.ts +4 -8
- package/types/src/formatMobile.d.ts +9 -7
- package/types/src/formatMoney.d.ts +8 -14
- package/types/src/isBankCard.d.ts +5 -10
- package/types/src/isBusinessLicense.d.ts +6 -9
- package/types/src/isChinese.d.ts +9 -16
- package/types/src/isEmail.d.ts +2 -5
- package/types/src/isHMCard.d.ts +8 -8
- package/types/src/isIPv4.d.ts +4 -11
- package/types/src/isIPv6.d.ts +11 -29
- package/types/src/isIdCard.d.ts +8 -11
- package/types/src/isMobile.d.ts +2 -5
- package/types/src/isPassport.d.ts +2 -5
- package/types/src/isPassword.d.ts +10 -17
- package/types/src/isPostcode.d.ts +2 -5
- package/types/src/isPromiseLike.d.ts +3 -7
- package/types/src/isQQ.d.ts +2 -5
- package/types/src/isSocialCreditCode.d.ts +6 -11
- package/types/src/isSwiftCode.d.ts +5 -5
- package/types/src/isTWCard.d.ts +7 -4
- package/types/src/isTelephone.d.ts +6 -9
- package/types/src/isUrl.d.ts +7 -19
- package/types/src/isVehicle.d.ts +8 -13
- package/types/src/isWX.d.ts +2 -5
- package/types/src/minus.d.ts +3 -7
- package/types/src/normalizeString.d.ts +2 -0
- package/types/src/numberToChinese.d.ts +10 -18
- package/types/src/padZero.d.ts +9 -8
- package/types/src/parseIdCard.d.ts +3 -3
- package/types/src/plus.d.ts +3 -7
- package/types/src/randomString.d.ts +2 -0
- package/types/src/replaceChar.d.ts +9 -17
- package/types/src/round.d.ts +3 -7
- package/types/src/safeDate.d.ts +2 -0
- package/types/src/setDataURLPrefix.d.ts +2 -0
- package/types/src/times.d.ts +3 -7
- package/types/src/waitTime.d.ts +3 -1
package/lib/isHMCard.js
CHANGED
|
@@ -22,16 +22,16 @@ var regHMCard = /^[hm]{1}([0-9]{10}|[0-9]{8})$/i;
|
|
|
22
22
|
* @returns {boolean} 是否为港澳居民来往内地通行证
|
|
23
23
|
* @example
|
|
24
24
|
* // 第一代 11 位
|
|
25
|
-
* isHMCard('h3203117707') // true
|
|
26
|
-
* isHMCard('H3203117707') // true
|
|
27
|
-
* isHMCard('m3203117707') // true
|
|
28
|
-
* isHMCard('M3203117707') // true
|
|
25
|
+
* isHMCard('h3203117707'); // true
|
|
26
|
+
* isHMCard('H3203117707'); // true
|
|
27
|
+
* isHMCard('m3203117707'); // true
|
|
28
|
+
* isHMCard('M3203117707'); // true
|
|
29
29
|
*
|
|
30
30
|
* // 第二代 9 位
|
|
31
|
-
* isHMCard('h32031177') // true
|
|
32
|
-
* isHMCard('H32031177') // true
|
|
33
|
-
* isHMCard('m32031177') // true
|
|
34
|
-
* isHMCard('M32031177') // true
|
|
31
|
+
* isHMCard('h32031177'); // true
|
|
32
|
+
* isHMCard('H32031177'); // true
|
|
33
|
+
* isHMCard('m32031177'); // true
|
|
34
|
+
* isHMCard('M32031177'); // true
|
|
35
35
|
*/
|
|
36
36
|
|
|
37
37
|
function isHMCard(value) {
|
package/lib/isIPv4.js
CHANGED
|
@@ -21,17 +21,10 @@ var reg = /^((\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.){3}(\d{1,2}|1\d\d|2[0-4]\d|25[0-
|
|
|
21
21
|
* @returns {boolean} 值是否为ipv4
|
|
22
22
|
* @example
|
|
23
23
|
*
|
|
24
|
-
* isIPv4('192.168.1.1');
|
|
25
|
-
* //
|
|
26
|
-
*
|
|
27
|
-
* isIPv4('
|
|
28
|
-
* // => true
|
|
29
|
-
*
|
|
30
|
-
* isIPv4('256.256.256.256');
|
|
31
|
-
* // => false
|
|
32
|
-
*
|
|
33
|
-
* isIPv4('0.0');
|
|
34
|
-
* // => false
|
|
24
|
+
* isIPv4('192.168.1.1'); // true
|
|
25
|
+
* isIPv4('255.255.255.255'); // true
|
|
26
|
+
* isIPv4('256.256.256.256'); // false
|
|
27
|
+
* isIPv4('0.0'); // false
|
|
35
28
|
*
|
|
36
29
|
*/
|
|
37
30
|
|
package/lib/isIPv6.js
CHANGED
|
@@ -22,41 +22,23 @@ var reg = /^((([0-9A-F]{1,4}:){7}([0-9A-F]{1,4}|:))|(([0-9A-F]{1,4}:){6}(:[0-9A-
|
|
|
22
22
|
* @example
|
|
23
23
|
*
|
|
24
24
|
* // 冒分十六进制表示法
|
|
25
|
-
* isIPv6('2001:0DB8:0000:0023:0008:0800:200C:417A');
|
|
26
|
-
* // => true
|
|
25
|
+
* isIPv6('2001:0DB8:0000:0023:0008:0800:200C:417A'); // true
|
|
27
26
|
*
|
|
28
27
|
* // 前导0省略
|
|
29
|
-
* isIPv6('2001:DB8:0:23:8:800:200C:417A');
|
|
30
|
-
* //
|
|
31
|
-
*
|
|
32
|
-
* isIPv6('FF01:0:0:0:0:0:0:1101');
|
|
33
|
-
* // => true
|
|
28
|
+
* isIPv6('2001:DB8:0:23:8:800:200C:417A'); // true
|
|
29
|
+
* isIPv6('FF01:0:0:0:0:0:0:1101'); // true
|
|
34
30
|
*
|
|
35
31
|
* // 0位压缩表示法
|
|
36
|
-
* isIPv6('FF01::1101');
|
|
37
|
-
* //
|
|
38
|
-
*
|
|
39
|
-
* isIPv6('
|
|
40
|
-
* //
|
|
41
|
-
*
|
|
42
|
-
* isIPv6('::');
|
|
43
|
-
* // => true
|
|
44
|
-
*
|
|
45
|
-
* isIPv6('0:0:0:0:0:0:0:1');
|
|
46
|
-
* // => true
|
|
47
|
-
*
|
|
48
|
-
* isIPv6('0:0:0:0:0:0:0:0');
|
|
49
|
-
* // => true
|
|
32
|
+
* isIPv6('FF01::1101'); // true
|
|
33
|
+
* isIPv6('::1'); // true
|
|
34
|
+
* isIPv6('::'); // true
|
|
35
|
+
* isIPv6('0:0:0:0:0:0:0:1'); // true
|
|
36
|
+
* isIPv6('0:0:0:0:0:0:0:0'); // true
|
|
50
37
|
*
|
|
51
38
|
* // 内嵌IPv4地址表示法
|
|
52
|
-
* isIPv6('::192.168.1.1');
|
|
53
|
-
* //
|
|
54
|
-
*
|
|
55
|
-
* isIPv6('::FFFF:192.168.1.1');
|
|
56
|
-
* // => true
|
|
57
|
-
*
|
|
58
|
-
* isIPv6('192.168.1.1');
|
|
59
|
-
* // => false
|
|
39
|
+
* isIPv6('::192.168.1.1'); // true
|
|
40
|
+
* isIPv6('::FFFF:192.168.1.1'); // true
|
|
41
|
+
* isIPv6('192.168.1.1'); // false
|
|
60
42
|
*
|
|
61
43
|
*/
|
|
62
44
|
|
package/lib/isIdCard.js
CHANGED
|
@@ -49,20 +49,17 @@ function check(id) {
|
|
|
49
49
|
* @returns {boolean} 值是否为身份证号
|
|
50
50
|
* @example
|
|
51
51
|
*
|
|
52
|
-
* isIdCard('130701199310302288');
|
|
53
|
-
* //
|
|
52
|
+
* isIdCard('130701199310302288'); // true
|
|
53
|
+
* isIdCard('13070119931030228X'); // false
|
|
54
54
|
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
55
|
+
* // 不校验校验码
|
|
56
|
+
* isIdCard('13070119931030228X', { checkCode: false }); // true
|
|
57
57
|
*
|
|
58
|
-
*
|
|
59
|
-
* //
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
* //
|
|
63
|
-
*
|
|
64
|
-
* isIdCard('320311770706001', { loose: true });
|
|
65
|
-
* // => true
|
|
58
|
+
* // 默认不支持15位身份证号码
|
|
59
|
+
* isIdCard('320311770706001'); // false
|
|
60
|
+
*
|
|
61
|
+
* // 宽松模式,支持15位身份证号
|
|
62
|
+
* isIdCard('320311770706001', { loose: true }); // true
|
|
66
63
|
*
|
|
67
64
|
*/
|
|
68
65
|
|
package/lib/isMobile.js
CHANGED
|
@@ -21,11 +21,8 @@ var reg = /^1[3456789]\d{9}$/;
|
|
|
21
21
|
* @returns {boolean} 值是否为手机号码
|
|
22
22
|
* @example
|
|
23
23
|
*
|
|
24
|
-
* isMobile('13000000000');
|
|
25
|
-
* //
|
|
26
|
-
*
|
|
27
|
-
* isMobile('13000');
|
|
28
|
-
* // => false
|
|
24
|
+
* isMobile('13000000000'); // true
|
|
25
|
+
* isMobile('13000'); // false
|
|
29
26
|
*
|
|
30
27
|
*/
|
|
31
28
|
|
package/lib/isPassport.js
CHANGED
|
@@ -23,11 +23,8 @@ var reg = /^((e[\da-z])|(de)|(se)|(pe)|([khm][\da-z]))[\da-z]{7}$/i;
|
|
|
23
23
|
* @returns {boolean} 值是否为护照号
|
|
24
24
|
* @example
|
|
25
25
|
*
|
|
26
|
-
* isPassport('E12345678');
|
|
27
|
-
* //
|
|
28
|
-
*
|
|
29
|
-
* isPassport('abc');
|
|
30
|
-
* // => false
|
|
26
|
+
* isPassport('E12345678'); // true
|
|
27
|
+
* isPassport('abc'); // false
|
|
31
28
|
*
|
|
32
29
|
*/
|
|
33
30
|
|
package/lib/isPassword.js
CHANGED
|
@@ -27,27 +27,20 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
|
|
|
27
27
|
* @returns {boolean} 值是否符合密码强度
|
|
28
28
|
* @example
|
|
29
29
|
*
|
|
30
|
-
* isPassword('a12345678');
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* isPassword('a12345678', {level: 3});
|
|
34
|
-
* //
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
* //
|
|
41
|
-
*
|
|
42
|
-
* isPassword('_Aa12345678', {level: 3, ignoreCase: true});
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
* // 仅支持 数字、字母、特殊字符,其他字符如中文字符是校验不通过的
|
|
46
|
-
* isPassword('_Aa一二三45678', {level: 3, ignoreCase: true});
|
|
47
|
-
* // => false
|
|
48
|
-
*
|
|
49
|
-
* isPassword(' _Aa12345678', {level: 3, ignoreCase: true});
|
|
50
|
-
* // => false
|
|
30
|
+
* isPassword('a12345678'); // true
|
|
31
|
+
*
|
|
32
|
+
* // 3级密码强度
|
|
33
|
+
* isPassword('a12345678', {level: 3}); // false
|
|
34
|
+
* isPassword('Aa12345678', {level: 3}); // true
|
|
35
|
+
*
|
|
36
|
+
* // 3级密码强度,大小写字符仅计算1级强度
|
|
37
|
+
* isPassword('Aa12345678', {level: 3, ignoreCase: true}); // false
|
|
38
|
+
* isPassword('_Aa12345678', {level: 3, ignoreCase: true}); // true
|
|
39
|
+
*
|
|
40
|
+
* // 仅支持 数字、字母、特殊字符,其他非法字符如中文字符是校验不通过的
|
|
41
|
+
* isPassword('_Aa一二三45678', {level: 3, ignoreCase: true}); // false
|
|
42
|
+
* isPassword(' _Aa12345678', {level: 3, ignoreCase: true}); // false
|
|
43
|
+
*
|
|
51
44
|
*/
|
|
52
45
|
function isPassword(value) {
|
|
53
46
|
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
package/lib/isPostcode.js
CHANGED
package/lib/isPromiseLike.js
CHANGED
|
@@ -17,14 +17,10 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
|
|
|
17
17
|
* @returns {boolean} 是否类似Promise对象
|
|
18
18
|
* @example
|
|
19
19
|
*
|
|
20
|
-
* isPromiseLike([]);
|
|
21
|
-
* =>
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* => true
|
|
25
|
-
*
|
|
26
|
-
* isPromiseLike(Promise.resolve());
|
|
27
|
-
* => true
|
|
20
|
+
* isPromiseLike([]); // false
|
|
21
|
+
* isPromiseLike({ then: () => { } }); // true
|
|
22
|
+
* isPromiseLike(Promise.resolve()); // true
|
|
23
|
+
*
|
|
28
24
|
*/
|
|
29
25
|
function isPromiseLike(obj) {
|
|
30
26
|
return obj !== null && (_typeof(obj) === 'object' || typeof obj === 'function') && typeof obj.then === 'function';
|
package/lib/isQQ.js
CHANGED
|
@@ -59,18 +59,13 @@ function sumCheckCode(preCode) {
|
|
|
59
59
|
* @returns {boolean} 值是否为统一社会信用代码
|
|
60
60
|
* @example
|
|
61
61
|
*
|
|
62
|
-
* isSocialCreditCode('91350100M000100Y43');
|
|
63
|
-
* //
|
|
62
|
+
* isSocialCreditCode('91350100M000100Y43'); // true
|
|
63
|
+
* isSocialCreditCode('91350100M000100Y4A'); // false
|
|
64
64
|
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
* //
|
|
69
|
-
* isSocialCreditCode('91350100M000100Y4A', { checkCode: false });
|
|
70
|
-
* // => true
|
|
71
|
-
*
|
|
72
|
-
* isSocialCreditCode('91350100M000100Y', { checkCode: false });
|
|
73
|
-
* // => false
|
|
65
|
+
* // 不校验校验位,长度和类型还是有校验的
|
|
66
|
+
* isSocialCreditCode('91350100M000100Y4A', { checkCode: false }); // true
|
|
67
|
+
* isSocialCreditCode('91350100M000100YIO', { checkCode: false }); // false
|
|
68
|
+
* isSocialCreditCode('91350100M000100Y', { checkCode: false }); // false
|
|
74
69
|
*
|
|
75
70
|
*/
|
|
76
71
|
|
package/lib/isSwiftCode.js
CHANGED
|
@@ -21,13 +21,13 @@ var reg = /^[A-Z]{6}[A-Z\d]{2}(?:[A-Z\d]{3})?$/;
|
|
|
21
21
|
* @returns {boolean} 值是否为 Swift Code
|
|
22
22
|
* @example
|
|
23
23
|
*
|
|
24
|
-
* isSwiftCode('DEUTDEFF') //
|
|
25
|
-
* isSwiftCode('deutdeff') //
|
|
24
|
+
* isSwiftCode('DEUTDEFF'); // true
|
|
25
|
+
* isSwiftCode('deutdeff'); // false
|
|
26
26
|
*
|
|
27
|
-
* isSwiftCode('BKTWTWTP010') //
|
|
28
|
-
* isSwiftCode('010BKTWTWTP') //
|
|
27
|
+
* isSwiftCode('BKTWTWTP010'); // true
|
|
28
|
+
* isSwiftCode('010BKTWTWTP'); // false
|
|
29
29
|
*
|
|
30
|
-
* isSwiftCode('ICBKCNBJBJM') //
|
|
30
|
+
* isSwiftCode('ICBKCNBJBJM'); // true
|
|
31
31
|
*
|
|
32
32
|
*/
|
|
33
33
|
|
package/lib/isTWCard.js
CHANGED
|
@@ -25,12 +25,15 @@ var singleRegTWCard = /^[\da-z]{10,12}$/i;
|
|
|
25
25
|
* @param {boolean} [options.loose=false] 宽松模式。如果为true,表示支持一次性短期通行证
|
|
26
26
|
* @returns {boolean} 是否为台湾居民来往大陆通行证
|
|
27
27
|
* @example
|
|
28
|
-
*
|
|
29
|
-
* isTWCard('
|
|
28
|
+
*
|
|
29
|
+
* isTWCard('12345678'); // true
|
|
30
|
+
* isTWCard('07257456'); // true
|
|
30
31
|
*
|
|
31
32
|
* // 一次性短期
|
|
32
|
-
* isTWCard('F290299977') // false
|
|
33
|
-
*
|
|
33
|
+
* isTWCard('F290299977'); // false
|
|
34
|
+
*
|
|
35
|
+
* // 宽松模式,支持一次性短期通行证
|
|
36
|
+
* isTWCard('F290299977', { loose: true }); // true
|
|
34
37
|
*/
|
|
35
38
|
|
|
36
39
|
function isTWCard(value) {
|
package/lib/isTelephone.js
CHANGED
|
@@ -21,17 +21,14 @@ var reg = /^(0\d{2,3}\-)?([2-9]\d{6,7})(\-\d{1,6})?$/;
|
|
|
21
21
|
* @returns {boolean} 值是否为固定电话
|
|
22
22
|
* @example
|
|
23
23
|
*
|
|
24
|
-
* isTelephone('22033212');
|
|
25
|
-
* //
|
|
24
|
+
* isTelephone('22033212'); // true
|
|
25
|
+
* isTelephone('13000000000'); // false
|
|
26
|
+
*
|
|
27
|
+
* // 含区号
|
|
28
|
+
* isTelephone('021-22033212'); // true
|
|
26
29
|
*
|
|
27
|
-
*
|
|
28
|
-
* //
|
|
29
|
-
*
|
|
30
|
-
* isTelephone('021-22033212-123');
|
|
31
|
-
* // => true
|
|
32
|
-
*
|
|
33
|
-
* isTelephone('13000000000');
|
|
34
|
-
* // => false
|
|
30
|
+
* // 含区号和分机号
|
|
31
|
+
* isTelephone('021-22033212-123'); // true
|
|
35
32
|
*
|
|
36
33
|
*/
|
|
37
34
|
|
package/lib/isUrl.js
CHANGED
|
@@ -22,26 +22,14 @@ var reg = /(((^https?:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+(?::\d+)?|(?:
|
|
|
22
22
|
* @returns {boolean} 值是否为url
|
|
23
23
|
* @example
|
|
24
24
|
*
|
|
25
|
-
* isUrl('');
|
|
26
|
-
* //
|
|
27
|
-
*
|
|
28
|
-
* isUrl('
|
|
29
|
-
* //
|
|
30
|
-
*
|
|
31
|
-
* isUrl('example.com');
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* isUrl('http://example.com');
|
|
35
|
-
* // => true
|
|
36
|
-
*
|
|
37
|
-
* isUrl('https://example.com:8080');
|
|
38
|
-
* // => true
|
|
39
|
-
*
|
|
40
|
-
* isUrl('http://www.example.com/test/123');
|
|
41
|
-
* // => true
|
|
42
|
-
*
|
|
43
|
-
* isUrl('http://www.example.com/test/123?foo=bar');
|
|
44
|
-
* // => true
|
|
25
|
+
* isUrl(''); // false
|
|
26
|
+
* isUrl('8.8.8.8'); // false
|
|
27
|
+
* isUrl('example.com'); // true
|
|
28
|
+
* isUrl('http://example.com'); // true
|
|
29
|
+
* isUrl('https://example.com:8080'); // true
|
|
30
|
+
* isUrl('http://www.example.com/test/123'); // true
|
|
31
|
+
* isUrl('http://www.example.com/test/123?foo=bar'); // true
|
|
32
|
+
*
|
|
45
33
|
*/
|
|
46
34
|
|
|
47
35
|
function isUrl(value) {
|
package/lib/isVehicle.js
CHANGED
|
@@ -22,20 +22,15 @@ var reg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕
|
|
|
22
22
|
* @returns {boolean} 值是否为车牌号
|
|
23
23
|
* @example
|
|
24
24
|
*
|
|
25
|
-
* isVehicle('京L12345');
|
|
26
|
-
* //
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* //
|
|
30
|
-
*
|
|
31
|
-
* isVehicle('粤BF12345');
|
|
32
|
-
* //
|
|
33
|
-
*
|
|
34
|
-
* isVehicle('粤B12345D');
|
|
35
|
-
* // => true
|
|
36
|
-
*
|
|
37
|
-
* isVehicle('粤B12345F');
|
|
38
|
-
* // => true
|
|
25
|
+
* isVehicle('京L12345'); // true
|
|
26
|
+
* isVehicle('京L1234学'); // true
|
|
27
|
+
* isVehicle('BL1234警'); // true
|
|
28
|
+
*
|
|
29
|
+
* // 新能源车牌
|
|
30
|
+
* isVehicle('粤BD12345'); // true
|
|
31
|
+
* isVehicle('粤BF12345'); // true
|
|
32
|
+
* isVehicle('粤B12345D'); // true
|
|
33
|
+
* isVehicle('粤B12345F'); // true
|
|
39
34
|
*
|
|
40
35
|
*/
|
|
41
36
|
|
package/lib/isWX.js
CHANGED
package/lib/minus.js
CHANGED
|
@@ -33,14 +33,10 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
33
33
|
* @returns {number} 差
|
|
34
34
|
* @example
|
|
35
35
|
*
|
|
36
|
-
* minus(1, 0.9);
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
* // => 0.08
|
|
41
|
-
*
|
|
42
|
-
* minus(1, 0.9, 0.02, 0.08);
|
|
43
|
-
* // => 0
|
|
36
|
+
* minus(1, 0.9); // 0.1
|
|
37
|
+
* minus(1, 0.9, 0.02); // 0.08
|
|
38
|
+
* minus(1, 0.9, 0.02, 0.08); // 0
|
|
39
|
+
*
|
|
44
40
|
*/
|
|
45
41
|
function minus() {
|
|
46
42
|
for (var _len = arguments.length, nums = new Array(_len), _key = 0; _key < _len; _key++) {
|
package/lib/normalizeString.js
CHANGED
|
@@ -21,6 +21,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
|
|
|
21
21
|
* @param {*} value 待处理的值
|
|
22
22
|
* @returns {string} 规整化的值
|
|
23
23
|
* @example
|
|
24
|
+
*
|
|
24
25
|
* normalizeString(); // ''
|
|
25
26
|
* normalizeString(undefined); // ''
|
|
26
27
|
* normalizeString(void 0); // ''
|
|
@@ -30,6 +31,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
|
|
|
30
31
|
* normalizeString(NaN); // 'NaN'
|
|
31
32
|
* normalizeString(1); // '1'
|
|
32
33
|
* normalizeString('a'); // 'a'
|
|
34
|
+
*
|
|
33
35
|
*/
|
|
34
36
|
function normalizeString(value) {
|
|
35
37
|
if ((0, _isNil["default"])(value)) {
|
package/lib/numberToChinese.js
CHANGED
|
@@ -162,7 +162,7 @@ function mapNumberChar(num) {
|
|
|
162
162
|
* @param {Object} [options] 配置项
|
|
163
163
|
* @param {boolean} [options.big5=false] 繁体
|
|
164
164
|
* @param {boolean} [options.unit=true] 计数单位
|
|
165
|
-
* @param {string} [options.decimal="点"]
|
|
165
|
+
* @param {string} [options.decimal="点"] 中文小数点,繁体字为點
|
|
166
166
|
* @param {string} [options.zero="零"] 设置0。常用配置 〇
|
|
167
167
|
* @param {string} [options.negative="负"] 负数前面的字
|
|
168
168
|
* @param {Object} [options.unitConfig] 节点单位配置
|
|
@@ -171,29 +171,21 @@ function mapNumberChar(num) {
|
|
|
171
171
|
* @returns {string} 中文数字
|
|
172
172
|
* @example
|
|
173
173
|
*
|
|
174
|
-
* numberToChinese(100);
|
|
175
|
-
* //
|
|
176
|
-
*
|
|
177
|
-
* numberToChinese(
|
|
178
|
-
* // => 一百点三
|
|
174
|
+
* numberToChinese(100); // 一百
|
|
175
|
+
* numberToChinese(100.3); // 一百点三
|
|
176
|
+
* numberToChinese(1234567890); // 一十二亿三千四百五十六万七千八百九十
|
|
177
|
+
* numberToChinese(1234567890.11); // 一十二亿三千四百五十六万七千八百九十点一一
|
|
179
178
|
*
|
|
180
179
|
* // 繁体
|
|
181
|
-
* numberToChinese(100, {big5: true});
|
|
182
|
-
* //
|
|
183
|
-
*
|
|
184
|
-
* numberToChinese(100.3, {big5: true});
|
|
185
|
-
* // => 壹佰点叁
|
|
186
|
-
*
|
|
187
|
-
* numberToChinese(1234567890, {big5: true});
|
|
188
|
-
* // => 壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾
|
|
180
|
+
* numberToChinese(100, {big5: true}); // 壹佰
|
|
181
|
+
* numberToChinese(100.3, {big5: true}); // 壹佰點叁
|
|
182
|
+
* numberToChinese(1234567890.11, {big5: true}); // 壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾點壹壹
|
|
189
183
|
*
|
|
190
184
|
* // 不带计数单位
|
|
191
|
-
* numberToChinese(1990, {unit: false});
|
|
192
|
-
* // => 一九九零
|
|
185
|
+
* numberToChinese(1990, {unit: false}); // 一九九零
|
|
193
186
|
*
|
|
194
187
|
* // 不带计数单位,修改0
|
|
195
|
-
* numberToChinese(1990, {unit: false, zero:'〇'});
|
|
196
|
-
* // => 一九九〇
|
|
188
|
+
* numberToChinese(1990, {unit: false, zero:'〇'}); // 一九九〇
|
|
197
189
|
*
|
|
198
190
|
*/
|
|
199
191
|
|
|
@@ -205,7 +197,7 @@ function numberToChinese(num) {
|
|
|
205
197
|
_ref$unit = _ref.unit,
|
|
206
198
|
unit = _ref$unit === void 0 ? true : _ref$unit,
|
|
207
199
|
_ref$decimal = _ref.decimal,
|
|
208
|
-
decimal = _ref$decimal === void 0 ? '
|
|
200
|
+
decimal = _ref$decimal === void 0 ? '' : _ref$decimal,
|
|
209
201
|
_ref$zero = _ref.zero,
|
|
210
202
|
zero = _ref$zero === void 0 ? '' : _ref$zero,
|
|
211
203
|
_ref$negative = _ref.negative,
|
|
@@ -225,9 +217,11 @@ function numberToChinese(num) {
|
|
|
225
217
|
if (big5) {
|
|
226
218
|
numberChar = big5NumberChar.slice();
|
|
227
219
|
unitChar = big5UnitChar.slice();
|
|
220
|
+
decimal = decimal || '點';
|
|
228
221
|
} else {
|
|
229
222
|
numberChar = chnNumberChar.slice();
|
|
230
223
|
unitChar = chnUnitChar.slice();
|
|
224
|
+
decimal = decimal || '点';
|
|
231
225
|
} // 设置节点计数单位,万、亿、万亿
|
|
232
226
|
|
|
233
227
|
|
package/lib/padZero.js
CHANGED
|
@@ -19,17 +19,18 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
|
|
|
19
19
|
* @param {number} [size=2] 指定字符串长度
|
|
20
20
|
* @returns {string} 用零填充数字到给定长度的字符串
|
|
21
21
|
* @example
|
|
22
|
-
* padZero(5); //
|
|
23
|
-
* padZero('5'); //
|
|
22
|
+
* padZero(5); // 05
|
|
23
|
+
* padZero('5'); // 05
|
|
24
24
|
*
|
|
25
|
-
* padZero(12); //
|
|
26
|
-
* padZero('12'); //
|
|
25
|
+
* padZero(12); // 12
|
|
26
|
+
* padZero('12'); // 12
|
|
27
27
|
*
|
|
28
|
-
* padZero(688); //
|
|
29
|
-
* padZero('688'); //
|
|
28
|
+
* padZero(688); // 688
|
|
29
|
+
* padZero('688'); // 688
|
|
30
30
|
*
|
|
31
|
-
* padZero(688, 5); //
|
|
32
|
-
* padZero('688', 5); //
|
|
31
|
+
* padZero(688, 5); // 00688
|
|
32
|
+
* padZero('688', 5); // 00688
|
|
33
|
+
*
|
|
33
34
|
*/
|
|
34
35
|
function padZero(value) {
|
|
35
36
|
var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
|
package/lib/parseIdCard.js
CHANGED
|
@@ -7,10 +7,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports["default"] = void 0;
|
|
9
9
|
|
|
10
|
-
var _isIdCard = _interopRequireDefault(require("./isIdCard"));
|
|
11
|
-
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
|
-
|
|
14
10
|
function _wrapRegExp() { _wrapRegExp = function _wrapRegExp(re, groups) { return new BabelRegExp(re, undefined, groups); }; var _super = RegExp.prototype; var _groups = new WeakMap(); function BabelRegExp(re, flags, groups) { var _this = new RegExp(re, flags); _groups.set(_this, groups || _groups.get(re)); return _setPrototypeOf(_this, BabelRegExp.prototype); } _inherits(BabelRegExp, RegExp); BabelRegExp.prototype.exec = function (str) { var result = _super.exec.call(this, str); if (result) result.groups = buildGroups(result, this); return result; }; BabelRegExp.prototype[Symbol.replace] = function (str, substitution) { if (typeof substitution === "string") { var groups = _groups.get(this); return _super[Symbol.replace].call(this, str, substitution.replace(/\$<([^>]+)>/g, function (_, name) { return "$" + groups[name]; })); } else if (typeof substitution === "function") { var _this = this; return _super[Symbol.replace].call(this, str, function () { var args = arguments; if (_typeof(args[args.length - 1]) !== "object") { args = [].slice.call(args); args.push(buildGroups(args, _this)); } return substitution.apply(this, args); }); } else { return _super[Symbol.replace].call(this, str, substitution); } }; function buildGroups(result, re) { var g = _groups.get(re); return Object.keys(g).reduce(function (groups, name) { groups[name] = result[g[name]]; return groups; }, Object.create(null)); } return _wrapRegExp.apply(this, arguments); }
|
|
15
11
|
|
|
16
12
|
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
@@ -78,11 +74,11 @@ var Provinces = [// 华北地区:北京市|110000,天津市|120000,河北
|
|
|
78
74
|
* @param {string} id 身份证号码,支持15位
|
|
79
75
|
* @returns {null|IdCardInfo} null 或 省份、生日、性别,省/市/区/年/月/日/性别编码
|
|
80
76
|
* @example
|
|
81
|
-
*
|
|
82
|
-
* //
|
|
77
|
+
*
|
|
78
|
+
* parseIdCard('123456789123456'); // null
|
|
83
79
|
*
|
|
84
80
|
* // 18位身份证号码
|
|
85
|
-
* parseIdCard('130701199310302288')
|
|
81
|
+
* parseIdCard('130701199310302288');
|
|
86
82
|
* // =>
|
|
87
83
|
* {
|
|
88
84
|
* birthday: "1993-10-30",
|
|
@@ -104,24 +100,17 @@ var Provinces = [// 华北地区:北京市|110000,天津市|120000,河北
|
|
|
104
100
|
*/
|
|
105
101
|
|
|
106
102
|
function parseIdCard(id) {
|
|
107
|
-
if (!(
|
|
108
|
-
loose: true
|
|
109
|
-
})) {
|
|
103
|
+
if (!regIdCard.test(id)) {
|
|
110
104
|
return null;
|
|
111
105
|
}
|
|
106
|
+
/** @type {RegExpExecArray} */
|
|
107
|
+
// @ts-ignore
|
|
112
108
|
|
|
113
|
-
var info = regIdCard.exec(id);
|
|
114
109
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* @type {{ province: string, city: string, area: string, year: string, month: string, day: string, gender: string }}
|
|
120
|
-
*
|
|
121
|
-
*/
|
|
110
|
+
var info = regIdCard.exec(id);
|
|
111
|
+
/** @type {{ province: string, city: string, area: string, year: string, month: string, day: string, gender: string }} */
|
|
122
112
|
// @ts-ignore
|
|
123
113
|
|
|
124
|
-
|
|
125
114
|
var origin = (info === null || info === void 0 ? void 0 : info.groups) || {
|
|
126
115
|
province: info[1],
|
|
127
116
|
city: info[2],
|
package/lib/plus.js
CHANGED
|
@@ -33,14 +33,10 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
33
33
|
* @returns {number} 总和
|
|
34
34
|
* @example
|
|
35
35
|
*
|
|
36
|
-
* plus(0.1, 0.2);
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
* // => 0.6
|
|
41
|
-
*
|
|
42
|
-
* plus(0.1, 0.2, 0.3, 0.4);
|
|
43
|
-
* // => 1
|
|
36
|
+
* plus(0.1, 0.2); // 0.3
|
|
37
|
+
* plus(0.1, 0.2, 0.3); // 0.6
|
|
38
|
+
* plus(0.1, 0.2, 0.3, 0.4); // 1
|
|
39
|
+
*
|
|
44
40
|
*/
|
|
45
41
|
function plus() {
|
|
46
42
|
for (var _len = arguments.length, nums = new Array(_len), _key = 0; _key < _len; _key++) {
|
package/lib/randomString.js
CHANGED
|
@@ -37,12 +37,14 @@ function internalRandomString() {
|
|
|
37
37
|
* @param {string} [optionalChars='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'] 允许的字符,默认为数字和大小写字母
|
|
38
38
|
* @returns {string} 随机字符串
|
|
39
39
|
* @example
|
|
40
|
+
*
|
|
40
41
|
* randomString(5); // slk23
|
|
41
42
|
* randomString(8); // 71mHqo2A
|
|
42
43
|
*
|
|
43
44
|
* // 自定义允许的字符
|
|
44
45
|
* randomString(5, 'abc'); // ccbcb
|
|
45
46
|
* randomString(8, 'abcefg'); // bcgcfabg
|
|
47
|
+
*
|
|
46
48
|
*/
|
|
47
49
|
|
|
48
50
|
|