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/esm/minus.js
CHANGED
|
@@ -11,14 +11,10 @@ import times from './times';
|
|
|
11
11
|
* @returns {number} 差
|
|
12
12
|
* @example
|
|
13
13
|
*
|
|
14
|
-
* minus(1, 0.9);
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* // => 0.08
|
|
19
|
-
*
|
|
20
|
-
* minus(1, 0.9, 0.02, 0.08);
|
|
21
|
-
* // => 0
|
|
14
|
+
* minus(1, 0.9); // 0.1
|
|
15
|
+
* minus(1, 0.9, 0.02); // 0.08
|
|
16
|
+
* minus(1, 0.9, 0.02, 0.08); // 0
|
|
17
|
+
*
|
|
22
18
|
*/
|
|
23
19
|
|
|
24
20
|
function minus() {
|
package/esm/normalizeString.js
CHANGED
|
@@ -10,6 +10,7 @@ import convertToString from './utils/convertToString';
|
|
|
10
10
|
* @param {*} value 待处理的值
|
|
11
11
|
* @returns {string} 规整化的值
|
|
12
12
|
* @example
|
|
13
|
+
*
|
|
13
14
|
* normalizeString(); // ''
|
|
14
15
|
* normalizeString(undefined); // ''
|
|
15
16
|
* normalizeString(void 0); // ''
|
|
@@ -19,6 +20,7 @@ import convertToString from './utils/convertToString';
|
|
|
19
20
|
* normalizeString(NaN); // 'NaN'
|
|
20
21
|
* normalizeString(1); // '1'
|
|
21
22
|
* normalizeString('a'); // 'a'
|
|
23
|
+
*
|
|
22
24
|
*/
|
|
23
25
|
|
|
24
26
|
function normalizeString(value) {
|
package/esm/numberToChinese.js
CHANGED
|
@@ -151,7 +151,7 @@ function mapNumberChar(num) {
|
|
|
151
151
|
* @param {Object} [options] 配置项
|
|
152
152
|
* @param {boolean} [options.big5=false] 繁体
|
|
153
153
|
* @param {boolean} [options.unit=true] 计数单位
|
|
154
|
-
* @param {string} [options.decimal="点"]
|
|
154
|
+
* @param {string} [options.decimal="点"] 中文小数点,繁体字为點
|
|
155
155
|
* @param {string} [options.zero="零"] 设置0。常用配置 〇
|
|
156
156
|
* @param {string} [options.negative="负"] 负数前面的字
|
|
157
157
|
* @param {Object} [options.unitConfig] 节点单位配置
|
|
@@ -160,29 +160,21 @@ function mapNumberChar(num) {
|
|
|
160
160
|
* @returns {string} 中文数字
|
|
161
161
|
* @example
|
|
162
162
|
*
|
|
163
|
-
* numberToChinese(100);
|
|
164
|
-
* //
|
|
165
|
-
*
|
|
166
|
-
* numberToChinese(
|
|
167
|
-
* // => 一百点三
|
|
163
|
+
* numberToChinese(100); // 一百
|
|
164
|
+
* numberToChinese(100.3); // 一百点三
|
|
165
|
+
* numberToChinese(1234567890); // 一十二亿三千四百五十六万七千八百九十
|
|
166
|
+
* numberToChinese(1234567890.11); // 一十二亿三千四百五十六万七千八百九十点一一
|
|
168
167
|
*
|
|
169
168
|
* // 繁体
|
|
170
|
-
* numberToChinese(100, {big5: true});
|
|
171
|
-
* //
|
|
172
|
-
*
|
|
173
|
-
* numberToChinese(100.3, {big5: true});
|
|
174
|
-
* // => 壹佰点叁
|
|
175
|
-
*
|
|
176
|
-
* numberToChinese(1234567890, {big5: true});
|
|
177
|
-
* // => 壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾
|
|
169
|
+
* numberToChinese(100, {big5: true}); // 壹佰
|
|
170
|
+
* numberToChinese(100.3, {big5: true}); // 壹佰點叁
|
|
171
|
+
* numberToChinese(1234567890.11, {big5: true}); // 壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾點壹壹
|
|
178
172
|
*
|
|
179
173
|
* // 不带计数单位
|
|
180
|
-
* numberToChinese(1990, {unit: false});
|
|
181
|
-
* // => 一九九零
|
|
174
|
+
* numberToChinese(1990, {unit: false}); // 一九九零
|
|
182
175
|
*
|
|
183
176
|
* // 不带计数单位,修改0
|
|
184
|
-
* numberToChinese(1990, {unit: false, zero:'〇'});
|
|
185
|
-
* // => 一九九〇
|
|
177
|
+
* numberToChinese(1990, {unit: false, zero:'〇'}); // 一九九〇
|
|
186
178
|
*
|
|
187
179
|
*/
|
|
188
180
|
|
|
@@ -194,7 +186,7 @@ function numberToChinese(num) {
|
|
|
194
186
|
_ref$unit = _ref.unit,
|
|
195
187
|
unit = _ref$unit === void 0 ? true : _ref$unit,
|
|
196
188
|
_ref$decimal = _ref.decimal,
|
|
197
|
-
decimal = _ref$decimal === void 0 ? '
|
|
189
|
+
decimal = _ref$decimal === void 0 ? '' : _ref$decimal,
|
|
198
190
|
_ref$zero = _ref.zero,
|
|
199
191
|
zero = _ref$zero === void 0 ? '' : _ref$zero,
|
|
200
192
|
_ref$negative = _ref.negative,
|
|
@@ -214,9 +206,11 @@ function numberToChinese(num) {
|
|
|
214
206
|
if (big5) {
|
|
215
207
|
numberChar = big5NumberChar.slice();
|
|
216
208
|
unitChar = big5UnitChar.slice();
|
|
209
|
+
decimal = decimal || '點';
|
|
217
210
|
} else {
|
|
218
211
|
numberChar = chnNumberChar.slice();
|
|
219
212
|
unitChar = chnUnitChar.slice();
|
|
213
|
+
decimal = decimal || '点';
|
|
220
214
|
} // 设置节点计数单位,万、亿、万亿
|
|
221
215
|
|
|
222
216
|
|
package/esm/padZero.js
CHANGED
|
@@ -9,17 +9,18 @@ import normalizeString from './normalizeString';
|
|
|
9
9
|
* @param {number} [size=2] 指定字符串长度
|
|
10
10
|
* @returns {string} 用零填充数字到给定长度的字符串
|
|
11
11
|
* @example
|
|
12
|
-
* padZero(5); //
|
|
13
|
-
* padZero('5'); //
|
|
12
|
+
* padZero(5); // 05
|
|
13
|
+
* padZero('5'); // 05
|
|
14
14
|
*
|
|
15
|
-
* padZero(12); //
|
|
16
|
-
* padZero('12'); //
|
|
15
|
+
* padZero(12); // 12
|
|
16
|
+
* padZero('12'); // 12
|
|
17
17
|
*
|
|
18
|
-
* padZero(688); //
|
|
19
|
-
* padZero('688'); //
|
|
18
|
+
* padZero(688); // 688
|
|
19
|
+
* padZero('688'); // 688
|
|
20
20
|
*
|
|
21
|
-
* padZero(688, 5); //
|
|
22
|
-
* padZero('688', 5); //
|
|
21
|
+
* padZero(688, 5); // 00688
|
|
22
|
+
* padZero('688', 5); // 00688
|
|
23
|
+
*
|
|
23
24
|
*/
|
|
24
25
|
|
|
25
26
|
function padZero(value) {
|
package/esm/parseIdCard.js
CHANGED
|
@@ -65,11 +65,11 @@ var Provinces = [// 华北地区:北京市|110000,天津市|120000,河北
|
|
|
65
65
|
* @param {string} id 身份证号码,支持15位
|
|
66
66
|
* @returns {null|IdCardInfo} null 或 省份、生日、性别,省/市/区/年/月/日/性别编码
|
|
67
67
|
* @example
|
|
68
|
-
*
|
|
69
|
-
* //
|
|
68
|
+
*
|
|
69
|
+
* parseIdCard('123456789123456'); // null
|
|
70
70
|
*
|
|
71
71
|
* // 18位身份证号码
|
|
72
|
-
* parseIdCard('130701199310302288')
|
|
72
|
+
* parseIdCard('130701199310302288');
|
|
73
73
|
* // =>
|
|
74
74
|
* {
|
|
75
75
|
* birthday: "1993-10-30",
|
package/esm/plus.js
CHANGED
|
@@ -11,14 +11,10 @@ import times from './times';
|
|
|
11
11
|
* @returns {number} 总和
|
|
12
12
|
* @example
|
|
13
13
|
*
|
|
14
|
-
* plus(0.1, 0.2);
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* // => 0.6
|
|
19
|
-
*
|
|
20
|
-
* plus(0.1, 0.2, 0.3, 0.4);
|
|
21
|
-
* // => 1
|
|
14
|
+
* plus(0.1, 0.2); // 0.3
|
|
15
|
+
* plus(0.1, 0.2, 0.3); // 0.6
|
|
16
|
+
* plus(0.1, 0.2, 0.3, 0.4); // 1
|
|
17
|
+
*
|
|
22
18
|
*/
|
|
23
19
|
|
|
24
20
|
function plus() {
|
package/esm/randomString.js
CHANGED
|
@@ -31,12 +31,14 @@ function internalRandomString() {
|
|
|
31
31
|
* @param {string} [optionalChars='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'] 允许的字符,默认为数字和大小写字母
|
|
32
32
|
* @returns {string} 随机字符串
|
|
33
33
|
* @example
|
|
34
|
+
*
|
|
34
35
|
* randomString(5); // slk23
|
|
35
36
|
* randomString(8); // 71mHqo2A
|
|
36
37
|
*
|
|
37
38
|
* // 自定义允许的字符
|
|
38
39
|
* randomString(5, 'abc'); // ccbcb
|
|
39
40
|
* randomString(8, 'abcefg'); // bcgcfabg
|
|
41
|
+
*
|
|
40
42
|
*/
|
|
41
43
|
|
|
42
44
|
|
package/esm/replaceChar.js
CHANGED
|
@@ -16,33 +16,25 @@ import normalizeString from './normalizeString';
|
|
|
16
16
|
* @example
|
|
17
17
|
*
|
|
18
18
|
* // 手机号
|
|
19
|
-
* replaceChar('13000000000');
|
|
20
|
-
* // => 130****0000
|
|
19
|
+
* replaceChar('13000000000'); // 130****0000
|
|
21
20
|
*
|
|
22
21
|
* // 身份证
|
|
23
|
-
* replaceChar('130701199310302288');
|
|
24
|
-
* // => 130***********2288
|
|
22
|
+
* replaceChar('130701199310302288'); // 130***********2288
|
|
25
23
|
*
|
|
26
24
|
* // 邮箱
|
|
27
25
|
* const email = '12345@qq.com'
|
|
28
|
-
* replaceChar(email, {start: 2, end: email.indexOf('@'), repeat: 4});
|
|
29
|
-
* // => 12****@qq.com
|
|
26
|
+
* replaceChar(email, {start: 2, end: email.indexOf('@'), repeat: 4}); // 12****@qq.com
|
|
30
27
|
*
|
|
31
28
|
* // 银行卡号
|
|
32
|
-
* replaceChar('6228480402564890018', {start: 0, end: -4, repeat: 4});
|
|
33
|
-
* // => ****0018
|
|
29
|
+
* replaceChar('6228480402564890018', {start: 0, end: -4, repeat: 4}); // ****0018
|
|
34
30
|
*
|
|
35
|
-
* //
|
|
36
|
-
* replaceChar('6228 4804 0256 4890 018', {start: 4, end: -4, exclude: ' '});
|
|
37
|
-
* // => 6228 **** **** **** 018
|
|
31
|
+
* // 带格式的银行卡号,忽略空字符串
|
|
32
|
+
* replaceChar('6228 4804 0256 4890 018', {start: 4, end: -4, exclude: ' '}); // 6228 **** **** **** 018
|
|
38
33
|
*
|
|
39
34
|
* // 用户名
|
|
40
|
-
* replaceChar('林某某', {start: 1, end: Infinity, repeat: 2});
|
|
41
|
-
* //
|
|
42
|
-
* replaceChar('
|
|
43
|
-
* // => 林**
|
|
44
|
-
* replaceChar('林某某某', {start: 1, end: Infinity, repeat: 2});
|
|
45
|
-
* // => 林**
|
|
35
|
+
* replaceChar('林某某', {start: 1, end: Infinity, repeat: 2}); // 林**
|
|
36
|
+
* replaceChar('林某', {start: 1, end: Infinity, repeat: 2}); // 林**
|
|
37
|
+
* replaceChar('林某某某', {start: 1, end: Infinity, repeat: 2}); // 林**
|
|
46
38
|
*
|
|
47
39
|
*/
|
|
48
40
|
|
package/esm/round.js
CHANGED
|
@@ -12,14 +12,10 @@ import { transformEffectiveNumber } from './utils/math.util';
|
|
|
12
12
|
* @returns {number} 四舍五入的数字
|
|
13
13
|
* @example
|
|
14
14
|
*
|
|
15
|
-
* round(4.006);
|
|
16
|
-
* //
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* // => 4.01
|
|
20
|
-
*
|
|
21
|
-
* round(4060, -2);
|
|
22
|
-
* // => 4100
|
|
15
|
+
* round(4.006); // 4
|
|
16
|
+
* round(4.006, 2); // 4.01
|
|
17
|
+
* round(4060, -2); // 4100
|
|
18
|
+
*
|
|
23
19
|
*/
|
|
24
20
|
|
|
25
21
|
function round(num) {
|
package/esm/safeDate.js
CHANGED
|
@@ -13,12 +13,14 @@ import isNil from './utils/type/isNil'; // TODO: 函数重载,类型参照 Dat
|
|
|
13
13
|
* @param {...number} args 月/日/时/分/秒/毫秒
|
|
14
14
|
* @returns {Date} Date 实例日期对象
|
|
15
15
|
* @example
|
|
16
|
+
*
|
|
16
17
|
* safeDate('2022-1-1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
|
|
17
18
|
* safeDate('2022/1/1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
|
|
18
19
|
* safeDate('2022.1.1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
|
|
19
20
|
* safeDate('2022.1.1 11:11'); // Sat Jan 01 2022 11:11:00 GMT+0800 (中国标准时间)
|
|
20
21
|
* safeDate(99, 1); // Mon Feb 01 1999 00:00:00 GMT+0800 (中国标准时间)
|
|
21
22
|
* safeDate(1646711233171); // Tue Mar 08 2022 11:47:13 GMT+0800 (中国标准时间)
|
|
23
|
+
*
|
|
22
24
|
*
|
|
23
25
|
*/
|
|
24
26
|
|
package/esm/setDataURLPrefix.js
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* @param {boolean} [base64=true] 添加 base64 标识
|
|
13
13
|
* @returns {string} DataURL 格式的字符串
|
|
14
14
|
* @example
|
|
15
|
+
*
|
|
15
16
|
* const data = 'PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=';
|
|
16
17
|
* setDataURLPrefix(data); // data:image/png;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
17
18
|
* setDataURLPrefix(data, 'image/png', false); // data:image/png,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
@@ -19,6 +20,7 @@
|
|
|
19
20
|
* setDataURLPrefix(data, 'text/html'); // data:text/html;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
20
21
|
* setDataURLPrefix(data, ''); // data:;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
21
22
|
* setDataURLPrefix(data, '', false); // data:,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
23
|
+
*
|
|
22
24
|
*/
|
|
23
25
|
function setDataURLPrefix(data) {
|
|
24
26
|
var mimetype = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'image/png';
|
package/esm/times.js
CHANGED
|
@@ -10,14 +10,10 @@ import { digitLength, float2Fixed, checkBoundary, transformEffectiveNumber } fro
|
|
|
10
10
|
* @returns {number} 乘积
|
|
11
11
|
* @example
|
|
12
12
|
*
|
|
13
|
-
* times(3, 0.6);
|
|
14
|
-
* //
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* // => 3.6
|
|
18
|
-
*
|
|
19
|
-
* times(3, 0.6, 2, 10);
|
|
20
|
-
* // => 36
|
|
13
|
+
* times(3, 0.6); // 1.8
|
|
14
|
+
* times(3, 0.6, 2); // 3.6
|
|
15
|
+
* times(3, 0.6, 2, 10); // 36
|
|
16
|
+
*
|
|
21
17
|
*/
|
|
22
18
|
|
|
23
19
|
function times() {
|
package/esm/utils/config.js
CHANGED
package/esm/waitTime.js
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* @param {number} [time=1000] 延时时间,单位毫秒
|
|
8
8
|
* @returns {Promise<void>}
|
|
9
9
|
* @example
|
|
10
|
+
*
|
|
10
11
|
* const test = async ()=>{
|
|
11
12
|
* await waitTime();
|
|
12
13
|
* // do something
|
|
@@ -14,7 +15,8 @@
|
|
|
14
15
|
*
|
|
15
16
|
* waitTime(500).then(()=>{
|
|
16
17
|
* // do something
|
|
17
|
-
* })
|
|
18
|
+
* });
|
|
19
|
+
*
|
|
18
20
|
*/
|
|
19
21
|
function waitTime() {
|
|
20
22
|
var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1000;
|
package/lib/bytesToSize.js
CHANGED
|
@@ -15,17 +15,11 @@ exports["default"] = void 0;
|
|
|
15
15
|
* @returns {string} 存储单位值
|
|
16
16
|
* @example
|
|
17
17
|
*
|
|
18
|
-
* bytesToSize(0);
|
|
19
|
-
* //
|
|
20
|
-
*
|
|
21
|
-
* bytesToSize(1024);
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* bytesToSize(3.213243*1024*1024);
|
|
25
|
-
* // => 3.21 MB
|
|
26
|
-
*
|
|
27
|
-
* bytesToSize(1024*1024*1024);
|
|
28
|
-
* // => 1 GB
|
|
18
|
+
* bytesToSize(0); // 0 B
|
|
19
|
+
* bytesToSize(1024); // 1 KB
|
|
20
|
+
* bytesToSize(3.213243*1024*1024); // 3.21 MB
|
|
21
|
+
* bytesToSize(1024*1024*1024); // 1 GB
|
|
22
|
+
*
|
|
29
23
|
*/
|
|
30
24
|
function bytesToSize(bytes) {
|
|
31
25
|
var numBytes = typeof bytes !== 'number' ? Number(bytes) : bytes;
|
|
@@ -9,7 +9,7 @@ var _normalizeString = _interopRequireDefault(require("./normalizeString"));
|
|
|
9
9
|
|
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
11
|
|
|
12
|
-
//
|
|
12
|
+
// 参考了: https://github.com/ant-design/ant-design-mobile/blob/v2/components/input-item/index.tsx#L240
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* 计算输入框的值格式化后光标位置
|
package/lib/dataURLToBlob.js
CHANGED
|
@@ -16,7 +16,7 @@ exports["default"] = void 0;
|
|
|
16
16
|
* @returns {Blob} Blob 对象
|
|
17
17
|
* @example
|
|
18
18
|
* const dataurl = 'data:text/html;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=';
|
|
19
|
-
* dataURLToBlob(dataurl);
|
|
19
|
+
* dataURLToBlob(dataurl); // Blob {size: 32, type: 'text/html'}
|
|
20
20
|
*/
|
|
21
21
|
function dataURLToBlob(dataurl) {
|
|
22
22
|
var arr = dataurl.split(','); // @ts-ignore
|
package/lib/divide.js
CHANGED
|
@@ -41,6 +41,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
41
41
|
* divide(); // NaN 如果没有传入参数,被除数默认为 undefined 。 Number(undefined) 转换为 NaN ,NaN/1 = NaN
|
|
42
42
|
* divide(null); // 0 Number(null) 转换为 0 , 0/1 = 0
|
|
43
43
|
* divide('1.5 ', 0.5); // 3 Number('1.5 ') 转换为 1.5 ,1.5/0.5 = 3
|
|
44
|
+
*
|
|
44
45
|
*/
|
|
45
46
|
function divide() {
|
|
46
47
|
for (var _len = arguments.length, nums = new Array(_len), _key = 0; _key < _len; _key++) {
|
package/lib/formatBankCard.js
CHANGED
|
@@ -23,20 +23,16 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
|
|
|
23
23
|
* @example
|
|
24
24
|
*
|
|
25
25
|
* // 19位银行卡
|
|
26
|
-
* formatBankCard('6228480402564890018');
|
|
27
|
-
* // => 6228 4804 0256 4890 018
|
|
26
|
+
* formatBankCard('6228480402564890018'); // 6228 4804 0256 4890 018
|
|
28
27
|
*
|
|
29
28
|
* // 16位银行卡
|
|
30
|
-
* formatBankCard('6228480402564890');
|
|
31
|
-
* // => 6228 4804 0256 4890
|
|
29
|
+
* formatBankCard('6228480402564890'); // 6228 4804 0256 4890
|
|
32
30
|
*
|
|
33
31
|
* // 脱敏银行卡
|
|
34
|
-
* formatBankCard('6228********890');
|
|
35
|
-
* // => 6228 **** **** 890
|
|
32
|
+
* formatBankCard('6228********890'); // 6228 **** **** 890
|
|
36
33
|
*
|
|
37
34
|
* // 16位银行卡,"-"间隔
|
|
38
|
-
* formatBankCard('6228480402564890', {char: '-'});
|
|
39
|
-
* // => 6228-4804-0256-4890
|
|
35
|
+
* formatBankCard('6228480402564890', {char: '-'}); // 6228-4804-0256-4890
|
|
40
36
|
*
|
|
41
37
|
*/
|
|
42
38
|
function formatBankCard() {
|
package/lib/formatMobile.js
CHANGED
|
@@ -20,17 +20,19 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
|
|
|
20
20
|
* @param {string} [options.char=' '] 间隔字符
|
|
21
21
|
* @returns {string} 格式化后的手机号码
|
|
22
22
|
* @example
|
|
23
|
-
*
|
|
24
|
-
* formatMobile('13345678900'
|
|
23
|
+
*
|
|
24
|
+
* formatMobile('13345678900'); // 133 4567 8900
|
|
25
|
+
* formatMobile('13345678900', { char: '-' }); // 133-4567-8900
|
|
25
26
|
*
|
|
26
27
|
* // 脱敏手机号码
|
|
27
|
-
* formatMobile('133****1234') //
|
|
28
|
-
* formatMobile('133****1234', { char: '-' }) //
|
|
28
|
+
* formatMobile('133****1234'); // 133 **** 1234
|
|
29
|
+
* formatMobile('133****1234', { char: '-' }); // 133-****-1234
|
|
29
30
|
*
|
|
30
31
|
* // 手机号码位数不够
|
|
31
|
-
* formatMobile('133') //
|
|
32
|
-
* formatMobile('133456') //
|
|
33
|
-
* formatMobile('13345678') //
|
|
32
|
+
* formatMobile('133'); // 133
|
|
33
|
+
* formatMobile('133456'); // 133 456
|
|
34
|
+
* formatMobile('13345678'); // 133 4567 8
|
|
35
|
+
*
|
|
34
36
|
*/
|
|
35
37
|
function formatMobile(mobileNo) {
|
|
36
38
|
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
package/lib/formatMoney.js
CHANGED
|
@@ -116,32 +116,26 @@ function formatDec(decStr, precision, decimal) {
|
|
|
116
116
|
* @example
|
|
117
117
|
*
|
|
118
118
|
* // 整数
|
|
119
|
-
* formatMoney('1000');
|
|
120
|
-
* // => 1,000.00
|
|
119
|
+
* formatMoney('1000'); // 1,000.00
|
|
121
120
|
*
|
|
122
121
|
* // 小数(默认保留2位小数)
|
|
123
|
-
* formatMoney('3000.03');
|
|
124
|
-
* // => 3,000.03
|
|
122
|
+
* formatMoney('3000.03'); // 3,000.03
|
|
125
123
|
*
|
|
126
124
|
* // 保留4位小数
|
|
127
|
-
* formatMoney('3000.0300', { precision: 4 });
|
|
128
|
-
* // => 3,000.0300
|
|
125
|
+
* formatMoney('3000.0300', { precision: 4 }); // 3,000.0300
|
|
129
126
|
*
|
|
130
127
|
* // 保留10位小数
|
|
131
|
-
* formatMoney('1500.2', { precision: 10 });
|
|
132
|
-
* // => 1,500.2000000000
|
|
128
|
+
* formatMoney('1500.2', { precision: 10 }); // 1,500.2000000000
|
|
133
129
|
*
|
|
134
130
|
* // 自定义单位符号
|
|
135
|
-
* formatMoney(1000.00, { symbol: '$' });
|
|
136
|
-
* // => $1,000.00
|
|
131
|
+
* formatMoney(1000.00, { symbol: '$' }); // $1,000.00
|
|
137
132
|
*
|
|
138
133
|
* // 自定义千位分割符(默认',')
|
|
139
|
-
* formatMoney(1000.00, { thousand: '|' });
|
|
140
|
-
* // => 1|000.00
|
|
134
|
+
* formatMoney(1000.00, { thousand: '|' }); // 1|000.00
|
|
141
135
|
*
|
|
142
136
|
* // 自定义小数位分割符(默认'.')
|
|
143
|
-
* formatMoney(1000.00, { decimal: '&' });
|
|
144
|
-
*
|
|
137
|
+
* formatMoney(1000.00, { decimal: '&' }); // 1,000&00
|
|
138
|
+
*
|
|
145
139
|
*/
|
|
146
140
|
|
|
147
141
|
|
package/lib/isBankCard.js
CHANGED
|
@@ -46,17 +46,12 @@ function sumCheckCode(numStr) {
|
|
|
46
46
|
* @returns {boolean} 值是否为银行卡号
|
|
47
47
|
* @example
|
|
48
48
|
*
|
|
49
|
-
* isBankCard('6228480402564890018');
|
|
50
|
-
* //
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
* //
|
|
54
|
-
*
|
|
55
|
-
* isBankCard('123456789');
|
|
56
|
-
* // => false
|
|
57
|
-
*
|
|
58
|
-
* isBankCard('123456789', { loose: true });
|
|
59
|
-
* // => true
|
|
49
|
+
* isBankCard('6228480402564890018'); // true
|
|
50
|
+
* isBankCard('6228480402564890'); // true
|
|
51
|
+
* isBankCard('123456789'); // false
|
|
52
|
+
*
|
|
53
|
+
* // 宽松模式
|
|
54
|
+
* isBankCard('123456789', { loose: true }); // true
|
|
60
55
|
*
|
|
61
56
|
*/
|
|
62
57
|
|
package/lib/isBusinessLicense.js
CHANGED
|
@@ -55,17 +55,14 @@ function sumCheckCode(preCode) {
|
|
|
55
55
|
* @returns {boolean} 值是否为营业执照号
|
|
56
56
|
* @example
|
|
57
57
|
*
|
|
58
|
-
* isBusinessLicense('310115600985533');
|
|
59
|
-
* //
|
|
58
|
+
* isBusinessLicense('310115600985533'); // true
|
|
59
|
+
* isBusinessLicense('310115600985535'); // false
|
|
60
60
|
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
* isBusinessLicense('
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
* isBusinessLicense('31011560098', { checkCode: false });
|
|
68
|
-
* // => false
|
|
61
|
+
* // 不校验验证码,长度和类型还是有校验
|
|
62
|
+
* isBusinessLicense('310115600985535', { checkCode: false }); // true
|
|
63
|
+
* isBusinessLicense('ac115600985535', { checkCode: false }); // false
|
|
64
|
+
* isBusinessLicense('31011560098', { checkCode: false }); // false
|
|
65
|
+
*
|
|
69
66
|
*/
|
|
70
67
|
|
|
71
68
|
|
package/lib/isChinese.js
CHANGED
|
@@ -48,27 +48,20 @@ var supportRegExpUnicode = RegExp.prototype.hasOwnProperty('unicode');
|
|
|
48
48
|
* @returns {boolean} 值是否为中文
|
|
49
49
|
* @example
|
|
50
50
|
*
|
|
51
|
-
* isChinese('林某某');
|
|
52
|
-
* //
|
|
53
|
-
*
|
|
54
|
-
* isChinese('林A');
|
|
55
|
-
* // => false
|
|
51
|
+
* isChinese('林某某'); // true
|
|
52
|
+
* isChinese('林A'); // false
|
|
56
53
|
*
|
|
57
54
|
* // 宽松模式,只要包含中文即为true
|
|
58
|
-
* isChinese('林A', { loose: true });
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
* isChinese('A林A', { loose: true });
|
|
62
|
-
* // => true
|
|
63
|
-
*
|
|
64
|
-
* isChinese('𠮷');
|
|
65
|
-
* // => false
|
|
55
|
+
* isChinese('林A', { loose: true }); // true
|
|
56
|
+
* isChinese('A林A', { loose: true }); // true
|
|
66
57
|
*
|
|
58
|
+
* // 扩展字符集的字符
|
|
59
|
+
* isChinese('𠮷'); // false
|
|
60
|
+
*
|
|
67
61
|
* // 使用中文扩展字符集,需要浏览器支持 RegExp.prototype.unicode 才生效。
|
|
68
|
-
* isChinese('𠮷', { useExtend: true });
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
* // => true
|
|
62
|
+
* isChinese('𠮷', { useExtend: true }); // true
|
|
63
|
+
* isChinese('𠮷aa', { useExtend: true, loose: true }); // true
|
|
64
|
+
*
|
|
72
65
|
*/
|
|
73
66
|
|
|
74
67
|
function isChinese(value) {
|
package/lib/isEmail.js
CHANGED
|
@@ -21,11 +21,8 @@ var reg = /^[\da-z]+([\-\.\_]?[\da-z]+)*@[\da-z]+([\-\.]?[\da-z]+)*(\.[a-z]{2,})
|
|
|
21
21
|
* @returns {boolean} 值是否为Email
|
|
22
22
|
* @example
|
|
23
23
|
*
|
|
24
|
-
* isEmail('1232@qq.com');
|
|
25
|
-
* //
|
|
26
|
-
*
|
|
27
|
-
* isEmail('123@');
|
|
28
|
-
* // => false
|
|
24
|
+
* isEmail('1232@qq.com'); // true
|
|
25
|
+
* isEmail('123@'); // false
|
|
29
26
|
*
|
|
30
27
|
*/
|
|
31
28
|
|
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
|
|