util-helpers 4.12.6 → 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 +8 -4
- package/dist/util-helpers.js +216 -342
- 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 +3 -3
- 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/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 +3 -3
- 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/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/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
|
@@ -74,11 +74,11 @@ var Provinces = [// 华北地区:北京市|110000,天津市|120000,河北
|
|
|
74
74
|
* @param {string} id 身份证号码,支持15位
|
|
75
75
|
* @returns {null|IdCardInfo} null 或 省份、生日、性别,省/市/区/年/月/日/性别编码
|
|
76
76
|
* @example
|
|
77
|
-
*
|
|
78
|
-
* //
|
|
77
|
+
*
|
|
78
|
+
* parseIdCard('123456789123456'); // null
|
|
79
79
|
*
|
|
80
80
|
* // 18位身份证号码
|
|
81
|
-
* parseIdCard('130701199310302288')
|
|
81
|
+
* parseIdCard('130701199310302288');
|
|
82
82
|
* // =>
|
|
83
83
|
* {
|
|
84
84
|
* birthday: "1993-10-30",
|
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
|
|
package/lib/replaceChar.js
CHANGED
|
@@ -26,33 +26,25 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
|
|
|
26
26
|
* @example
|
|
27
27
|
*
|
|
28
28
|
* // 手机号
|
|
29
|
-
* replaceChar('13000000000');
|
|
30
|
-
* // => 130****0000
|
|
29
|
+
* replaceChar('13000000000'); // 130****0000
|
|
31
30
|
*
|
|
32
31
|
* // 身份证
|
|
33
|
-
* replaceChar('130701199310302288');
|
|
34
|
-
* // => 130***********2288
|
|
32
|
+
* replaceChar('130701199310302288'); // 130***********2288
|
|
35
33
|
*
|
|
36
34
|
* // 邮箱
|
|
37
35
|
* const email = '12345@qq.com'
|
|
38
|
-
* replaceChar(email, {start: 2, end: email.indexOf('@'), repeat: 4});
|
|
39
|
-
* // => 12****@qq.com
|
|
36
|
+
* replaceChar(email, {start: 2, end: email.indexOf('@'), repeat: 4}); // 12****@qq.com
|
|
40
37
|
*
|
|
41
38
|
* // 银行卡号
|
|
42
|
-
* replaceChar('6228480402564890018', {start: 0, end: -4, repeat: 4});
|
|
43
|
-
* // => ****0018
|
|
39
|
+
* replaceChar('6228480402564890018', {start: 0, end: -4, repeat: 4}); // ****0018
|
|
44
40
|
*
|
|
45
|
-
* //
|
|
46
|
-
* replaceChar('6228 4804 0256 4890 018', {start: 4, end: -4, exclude: ' '});
|
|
47
|
-
* // => 6228 **** **** **** 018
|
|
41
|
+
* // 带格式的银行卡号,忽略空字符串
|
|
42
|
+
* replaceChar('6228 4804 0256 4890 018', {start: 4, end: -4, exclude: ' '}); // 6228 **** **** **** 018
|
|
48
43
|
*
|
|
49
44
|
* // 用户名
|
|
50
|
-
* replaceChar('林某某', {start: 1, end: Infinity, repeat: 2});
|
|
51
|
-
* //
|
|
52
|
-
* replaceChar('
|
|
53
|
-
* // => 林**
|
|
54
|
-
* replaceChar('林某某某', {start: 1, end: Infinity, repeat: 2});
|
|
55
|
-
* // => 林**
|
|
45
|
+
* replaceChar('林某某', {start: 1, end: Infinity, repeat: 2}); // 林**
|
|
46
|
+
* replaceChar('林某', {start: 1, end: Infinity, repeat: 2}); // 林**
|
|
47
|
+
* replaceChar('林某某某', {start: 1, end: Infinity, repeat: 2}); // 林**
|
|
56
48
|
*
|
|
57
49
|
*/
|
|
58
50
|
function replaceChar(str) {
|
package/lib/round.js
CHANGED
|
@@ -24,14 +24,10 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
|
|
|
24
24
|
* @returns {number} 四舍五入的数字
|
|
25
25
|
* @example
|
|
26
26
|
*
|
|
27
|
-
* round(4.006);
|
|
28
|
-
* //
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
* // => 4.01
|
|
32
|
-
*
|
|
33
|
-
* round(4060, -2);
|
|
34
|
-
* // => 4100
|
|
27
|
+
* round(4.006); // 4
|
|
28
|
+
* round(4.006, 2); // 4.01
|
|
29
|
+
* round(4060, -2); // 4100
|
|
30
|
+
*
|
|
35
31
|
*/
|
|
36
32
|
function round(num) {
|
|
37
33
|
var precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
package/lib/safeDate.js
CHANGED
|
@@ -29,12 +29,14 @@ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || func
|
|
|
29
29
|
* @param {...number} args 月/日/时/分/秒/毫秒
|
|
30
30
|
* @returns {Date} Date 实例日期对象
|
|
31
31
|
* @example
|
|
32
|
+
*
|
|
32
33
|
* safeDate('2022-1-1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
|
|
33
34
|
* safeDate('2022/1/1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
|
|
34
35
|
* safeDate('2022.1.1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
|
|
35
36
|
* safeDate('2022.1.1 11:11'); // Sat Jan 01 2022 11:11:00 GMT+0800 (中国标准时间)
|
|
36
37
|
* safeDate(99, 1); // Mon Feb 01 1999 00:00:00 GMT+0800 (中国标准时间)
|
|
37
38
|
* safeDate(1646711233171); // Tue Mar 08 2022 11:47:13 GMT+0800 (中国标准时间)
|
|
39
|
+
*
|
|
38
40
|
*
|
|
39
41
|
*/
|
|
40
42
|
function safeDate(value) {
|