util-helpers 4.12.6 → 4.12.8
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 +217 -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 +2 -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 +2 -1
- package/lib/waitTime.js +3 -1
- package/package.json +3 -3
- package/types/bytesToSize.d.ts +4 -10
- package/types/dataURLToBlob.d.ts +1 -1
- package/types/divide.d.ts +9 -8
- package/types/formatBankCard.d.ts +4 -8
- package/types/formatMobile.d.ts +9 -7
- package/types/formatMoney.d.ts +8 -14
- package/types/index.d.ts +1 -1
- package/types/isBankCard.d.ts +5 -10
- package/types/isBusinessLicense.d.ts +6 -9
- package/types/isChinese.d.ts +9 -16
- package/types/isEmail.d.ts +2 -5
- package/types/isHMCard.d.ts +8 -8
- package/types/isIPv4.d.ts +4 -11
- package/types/isIPv6.d.ts +11 -29
- package/types/isIdCard.d.ts +8 -11
- package/types/isMobile.d.ts +2 -5
- package/types/isPassport.d.ts +2 -5
- package/types/isPassword.d.ts +10 -17
- package/types/isPostcode.d.ts +2 -5
- package/types/isPromiseLike.d.ts +3 -7
- package/types/isQQ.d.ts +2 -5
- package/types/isSocialCreditCode.d.ts +6 -11
- package/types/isSwiftCode.d.ts +5 -5
- package/types/isTWCard.d.ts +7 -4
- package/types/isTelephone.d.ts +6 -9
- package/types/isUrl.d.ts +7 -19
- package/types/isVehicle.d.ts +8 -13
- package/types/isWX.d.ts +2 -5
- package/types/minus.d.ts +4 -8
- package/types/normalizeString.d.ts +2 -0
- package/types/numberToChinese.d.ts +10 -18
- package/types/padZero.d.ts +9 -8
- package/types/parseIdCard.d.ts +3 -3
- package/types/plus.d.ts +4 -8
- package/types/randomString.d.ts +2 -0
- package/types/replaceChar.d.ts +9 -17
- package/types/round.d.ts +3 -7
- package/types/safeDate.d.ts +2 -0
- package/types/setDataURLPrefix.d.ts +2 -0
- package/types/times.d.ts +4 -8
- package/types/utils/config.d.ts +2 -0
- package/types/utils/math.util.d.ts +4 -4
- package/types/waitTime.d.ts +3 -1
- package/types/src/blobToDataURL.d.ts +0 -25
- package/types/src/bytesToSize.d.ts +0 -24
- package/types/src/calculateCursorPosition.d.ts +0 -26
- package/types/src/dataURLToBlob.d.ts +0 -15
- package/types/src/divide.d.ts +0 -21
- package/types/src/formatBankCard.d.ts +0 -35
- package/types/src/formatMobile.d.ts +0 -27
- package/types/src/formatMoney.d.ts +0 -50
- package/types/src/index.d.ts +0 -45
- package/types/src/isBankCard.d.ts +0 -32
- package/types/src/isBusinessLicense.d.ts +0 -29
- package/types/src/isChinese.d.ts +0 -41
- package/types/src/isEmail.d.ts +0 -19
- package/types/src/isHMCard.d.ts +0 -24
- package/types/src/isIPv4.d.ts +0 -25
- package/types/src/isIPv6.d.ts +0 -50
- package/types/src/isIdCard.d.ts +0 -34
- package/types/src/isMobile.d.ts +0 -19
- package/types/src/isPassport.d.ts +0 -21
- package/types/src/isPassword.d.ts +0 -46
- package/types/src/isPostcode.d.ts +0 -19
- package/types/src/isPromiseLike.d.ts +0 -21
- package/types/src/isQQ.d.ts +0 -19
- package/types/src/isSocialCreditCode.d.ts +0 -31
- package/types/src/isSwiftCode.d.ts +0 -22
- package/types/src/isTWCard.d.ts +0 -23
- package/types/src/isTelephone.d.ts +0 -25
- package/types/src/isUrl.d.ts +0 -34
- package/types/src/isVehicle.d.ts +0 -29
- package/types/src/isWX.d.ts +0 -19
- package/types/src/minus.d.ts +0 -21
- package/types/src/normalizeString.d.ts +0 -22
- package/types/src/numberToChinese.d.ts +0 -57
- package/types/src/padZero.d.ts +0 -24
- package/types/src/parseIdCard.d.ts +0 -107
- package/types/src/plus.d.ts +0 -21
- package/types/src/randomString.d.ts +0 -19
- package/types/src/replaceChar.d.ts +0 -54
- package/types/src/round.d.ts +0 -22
- package/types/src/safeDate.d.ts +0 -22
- package/types/src/setDataURLPrefix.d.ts +0 -24
- package/types/src/strlen.d.ts +0 -20
- package/types/src/times.d.ts +0 -21
- package/types/src/utils/config.d.ts +0 -13
- package/types/src/utils/constants.d.ts +0 -2
- package/types/src/utils/convertToString.d.ts +0 -8
- package/types/src/utils/devWarn.d.ts +0 -7
- package/types/src/utils/math.util.d.ts +0 -63
- package/types/src/utils/type/index.d.ts +0 -19
- package/types/src/utils/type/isArguments.d.ts +0 -18
- package/types/src/utils/type/isArray.d.ts +0 -18
- package/types/src/utils/type/isBoolean.d.ts +0 -18
- package/types/src/utils/type/isDate.d.ts +0 -18
- package/types/src/utils/type/isError.d.ts +0 -18
- package/types/src/utils/type/isFunction.d.ts +0 -18
- package/types/src/utils/type/isMap.d.ts +0 -18
- package/types/src/utils/type/isNaN.d.ts +0 -18
- package/types/src/utils/type/isNil.d.ts +0 -11
- package/types/src/utils/type/isNull.d.ts +0 -18
- package/types/src/utils/type/isNumber.d.ts +0 -27
- package/types/src/utils/type/isObject.d.ts +0 -21
- package/types/src/utils/type/isRegExp.d.ts +0 -18
- package/types/src/utils/type/isSet.d.ts +0 -18
- package/types/src/utils/type/isString.d.ts +0 -18
- package/types/src/utils/type/isSymbol.d.ts +0 -18
- package/types/src/utils/type/isType.d.ts +0 -11
- package/types/src/utils/type/isUndefined.d.ts +0 -21
- package/types/src/utils/type/isWeakMap.d.ts +0 -18
- package/types/src/utils/type/isWeakSet.d.ts +0 -18
- package/types/src/validatePassword.d.ts +0 -134
- package/types/src/waitTime.d.ts +0 -20
package/dist/util-helpers.js
CHANGED
|
@@ -118,6 +118,7 @@
|
|
|
118
118
|
* @param {*} value 待处理的值
|
|
119
119
|
* @returns {string} 规整化的值
|
|
120
120
|
* @example
|
|
121
|
+
*
|
|
121
122
|
* normalizeString(); // ''
|
|
122
123
|
* normalizeString(undefined); // ''
|
|
123
124
|
* normalizeString(void 0); // ''
|
|
@@ -127,6 +128,7 @@
|
|
|
127
128
|
* normalizeString(NaN); // 'NaN'
|
|
128
129
|
* normalizeString(1); // '1'
|
|
129
130
|
* normalizeString('a'); // 'a'
|
|
131
|
+
*
|
|
130
132
|
*/
|
|
131
133
|
|
|
132
134
|
function normalizeString(value) {
|
|
@@ -148,11 +150,8 @@
|
|
|
148
150
|
* @returns {boolean} 值是否为手机号码
|
|
149
151
|
* @example
|
|
150
152
|
*
|
|
151
|
-
* isMobile('13000000000');
|
|
152
|
-
* //
|
|
153
|
-
*
|
|
154
|
-
* isMobile('13000');
|
|
155
|
-
* // => false
|
|
153
|
+
* isMobile('13000000000'); // true
|
|
154
|
+
* isMobile('13000'); // false
|
|
156
155
|
*
|
|
157
156
|
*/
|
|
158
157
|
|
|
@@ -172,17 +171,14 @@
|
|
|
172
171
|
* @returns {boolean} 值是否为固定电话
|
|
173
172
|
* @example
|
|
174
173
|
*
|
|
175
|
-
* isTelephone('22033212');
|
|
176
|
-
* //
|
|
177
|
-
*
|
|
178
|
-
*
|
|
179
|
-
* //
|
|
180
|
-
*
|
|
181
|
-
* isTelephone('021-22033212-123');
|
|
182
|
-
* // => true
|
|
174
|
+
* isTelephone('22033212'); // true
|
|
175
|
+
* isTelephone('13000000000'); // false
|
|
176
|
+
*
|
|
177
|
+
* // 含区号
|
|
178
|
+
* isTelephone('021-22033212'); // true
|
|
183
179
|
*
|
|
184
|
-
*
|
|
185
|
-
* //
|
|
180
|
+
* // 含区号和分机号
|
|
181
|
+
* isTelephone('021-22033212-123'); // true
|
|
186
182
|
*
|
|
187
183
|
*/
|
|
188
184
|
|
|
@@ -202,11 +198,8 @@
|
|
|
202
198
|
* @returns {boolean} 值是否为邮政编码
|
|
203
199
|
* @example
|
|
204
200
|
*
|
|
205
|
-
* isPostcode('101111');
|
|
206
|
-
* //
|
|
207
|
-
*
|
|
208
|
-
* isPostcode('123');
|
|
209
|
-
* // => false
|
|
201
|
+
* isPostcode('101111'); // true
|
|
202
|
+
* isPostcode('123'); // false
|
|
210
203
|
*
|
|
211
204
|
*/
|
|
212
205
|
|
|
@@ -254,20 +247,17 @@
|
|
|
254
247
|
* @returns {boolean} 值是否为身份证号
|
|
255
248
|
* @example
|
|
256
249
|
*
|
|
257
|
-
* isIdCard('130701199310302288');
|
|
258
|
-
* //
|
|
250
|
+
* isIdCard('130701199310302288'); // true
|
|
251
|
+
* isIdCard('13070119931030228X'); // false
|
|
259
252
|
*
|
|
260
|
-
*
|
|
261
|
-
*
|
|
253
|
+
* // 不校验校验码
|
|
254
|
+
* isIdCard('13070119931030228X', { checkCode: false }); // true
|
|
262
255
|
*
|
|
263
|
-
*
|
|
264
|
-
* //
|
|
265
|
-
*
|
|
266
|
-
*
|
|
267
|
-
* //
|
|
268
|
-
*
|
|
269
|
-
* isIdCard('320311770706001', { loose: true });
|
|
270
|
-
* // => true
|
|
256
|
+
* // 默认不支持15位身份证号码
|
|
257
|
+
* isIdCard('320311770706001'); // false
|
|
258
|
+
*
|
|
259
|
+
* // 宽松模式,支持15位身份证号
|
|
260
|
+
* isIdCard('320311770706001', { loose: true }); // true
|
|
271
261
|
*
|
|
272
262
|
*/
|
|
273
263
|
|
|
@@ -307,11 +297,8 @@
|
|
|
307
297
|
* @returns {boolean} 值是否为Email
|
|
308
298
|
* @example
|
|
309
299
|
*
|
|
310
|
-
* isEmail('1232@qq.com');
|
|
311
|
-
* //
|
|
312
|
-
*
|
|
313
|
-
* isEmail('123@');
|
|
314
|
-
* // => false
|
|
300
|
+
* isEmail('1232@qq.com'); // true
|
|
301
|
+
* isEmail('123@'); // false
|
|
315
302
|
*
|
|
316
303
|
*/
|
|
317
304
|
|
|
@@ -331,11 +318,8 @@
|
|
|
331
318
|
* @returns {boolean} 值是否为QQ号
|
|
332
319
|
* @example
|
|
333
320
|
*
|
|
334
|
-
* isQQ('12345');
|
|
335
|
-
* //
|
|
336
|
-
*
|
|
337
|
-
* isQQ('123');
|
|
338
|
-
* // => false
|
|
321
|
+
* isQQ('12345'); // true
|
|
322
|
+
* isQQ('123'); // false
|
|
339
323
|
*
|
|
340
324
|
*/
|
|
341
325
|
|
|
@@ -355,11 +339,8 @@
|
|
|
355
339
|
* @returns {boolean} 值是否为微信号
|
|
356
340
|
* @example
|
|
357
341
|
*
|
|
358
|
-
* isWX('a12345');
|
|
359
|
-
* //
|
|
360
|
-
*
|
|
361
|
-
* isWX('123');
|
|
362
|
-
* // => false
|
|
342
|
+
* isWX('a12345'); // true
|
|
343
|
+
* isWX('123'); // false
|
|
363
344
|
*
|
|
364
345
|
*/
|
|
365
346
|
|
|
@@ -380,20 +361,15 @@
|
|
|
380
361
|
* @returns {boolean} 值是否为车牌号
|
|
381
362
|
* @example
|
|
382
363
|
*
|
|
383
|
-
* isVehicle('京L12345');
|
|
384
|
-
* //
|
|
385
|
-
*
|
|
386
|
-
*
|
|
387
|
-
* //
|
|
388
|
-
*
|
|
389
|
-
* isVehicle('粤BF12345');
|
|
390
|
-
* //
|
|
391
|
-
*
|
|
392
|
-
* isVehicle('粤B12345D');
|
|
393
|
-
* // => true
|
|
394
|
-
*
|
|
395
|
-
* isVehicle('粤B12345F');
|
|
396
|
-
* // => true
|
|
364
|
+
* isVehicle('京L12345'); // true
|
|
365
|
+
* isVehicle('京L1234学'); // true
|
|
366
|
+
* isVehicle('BL1234警'); // true
|
|
367
|
+
*
|
|
368
|
+
* // 新能源车牌
|
|
369
|
+
* isVehicle('粤BD12345'); // true
|
|
370
|
+
* isVehicle('粤BF12345'); // true
|
|
371
|
+
* isVehicle('粤B12345D'); // true
|
|
372
|
+
* isVehicle('粤B12345F'); // true
|
|
397
373
|
*
|
|
398
374
|
*/
|
|
399
375
|
|
|
@@ -438,17 +414,12 @@
|
|
|
438
414
|
* @returns {boolean} 值是否为银行卡号
|
|
439
415
|
* @example
|
|
440
416
|
*
|
|
441
|
-
* isBankCard('6228480402564890018');
|
|
442
|
-
* //
|
|
443
|
-
*
|
|
444
|
-
*
|
|
445
|
-
* //
|
|
446
|
-
*
|
|
447
|
-
* isBankCard('123456789');
|
|
448
|
-
* // => false
|
|
449
|
-
*
|
|
450
|
-
* isBankCard('123456789', { loose: true });
|
|
451
|
-
* // => true
|
|
417
|
+
* isBankCard('6228480402564890018'); // true
|
|
418
|
+
* isBankCard('6228480402564890'); // true
|
|
419
|
+
* isBankCard('123456789'); // false
|
|
420
|
+
*
|
|
421
|
+
* // 宽松模式
|
|
422
|
+
* isBankCard('123456789', { loose: true }); // true
|
|
452
423
|
*
|
|
453
424
|
*/
|
|
454
425
|
|
|
@@ -521,18 +492,13 @@
|
|
|
521
492
|
* @returns {boolean} 值是否为统一社会信用代码
|
|
522
493
|
* @example
|
|
523
494
|
*
|
|
524
|
-
* isSocialCreditCode('91350100M000100Y43');
|
|
525
|
-
* //
|
|
526
|
-
*
|
|
527
|
-
* isSocialCreditCode('91350100M000100Y4A');
|
|
528
|
-
* // => false
|
|
529
|
-
*
|
|
530
|
-
* // 不校验校验位
|
|
531
|
-
* isSocialCreditCode('91350100M000100Y4A', { checkCode: false });
|
|
532
|
-
* // => true
|
|
495
|
+
* isSocialCreditCode('91350100M000100Y43'); // true
|
|
496
|
+
* isSocialCreditCode('91350100M000100Y4A'); // false
|
|
533
497
|
*
|
|
534
|
-
*
|
|
535
|
-
*
|
|
498
|
+
* // 不校验校验位,长度和类型还是有校验的
|
|
499
|
+
* isSocialCreditCode('91350100M000100Y4A', { checkCode: false }); // true
|
|
500
|
+
* isSocialCreditCode('91350100M000100YIO', { checkCode: false }); // false
|
|
501
|
+
* isSocialCreditCode('91350100M000100Y', { checkCode: false }); // false
|
|
536
502
|
*
|
|
537
503
|
*/
|
|
538
504
|
|
|
@@ -562,8 +528,9 @@
|
|
|
562
528
|
return lastCode === checkCode;
|
|
563
529
|
}
|
|
564
530
|
|
|
565
|
-
const version = "4.12.
|
|
531
|
+
const version = "4.12.8";
|
|
566
532
|
|
|
533
|
+
// @ts-ignore
|
|
567
534
|
var config = {
|
|
568
535
|
// 禁用warning提示
|
|
569
536
|
disableWarning: true
|
|
@@ -896,27 +863,20 @@
|
|
|
896
863
|
* @returns {boolean} 值是否符合密码强度
|
|
897
864
|
* @example
|
|
898
865
|
*
|
|
899
|
-
* isPassword('a12345678');
|
|
900
|
-
*
|
|
901
|
-
*
|
|
902
|
-
* isPassword('a12345678', {level: 3});
|
|
903
|
-
* //
|
|
904
|
-
*
|
|
905
|
-
*
|
|
906
|
-
*
|
|
907
|
-
*
|
|
908
|
-
* isPassword('Aa12345678', {level: 3, ignoreCase: true});
|
|
909
|
-
* // => false
|
|
910
|
-
*
|
|
911
|
-
* isPassword('_Aa12345678', {level: 3, ignoreCase: true});
|
|
912
|
-
* // => true
|
|
913
|
-
*
|
|
914
|
-
* // 仅支持 数字、字母、特殊字符,其他字符如中文字符是校验不通过的
|
|
915
|
-
* isPassword('_Aa一二三45678', {level: 3, ignoreCase: true});
|
|
916
|
-
* // => false
|
|
866
|
+
* isPassword('a12345678'); // true
|
|
867
|
+
*
|
|
868
|
+
* // 3级密码强度
|
|
869
|
+
* isPassword('a12345678', {level: 3}); // false
|
|
870
|
+
* isPassword('Aa12345678', {level: 3}); // true
|
|
871
|
+
*
|
|
872
|
+
* // 3级密码强度,大小写字符仅计算1级强度
|
|
873
|
+
* isPassword('Aa12345678', {level: 3, ignoreCase: true}); // false
|
|
874
|
+
* isPassword('_Aa12345678', {level: 3, ignoreCase: true}); // true
|
|
917
875
|
*
|
|
918
|
-
*
|
|
919
|
-
* //
|
|
876
|
+
* // 仅支持 数字、字母、特殊字符,其他非法字符如中文字符是校验不通过的
|
|
877
|
+
* isPassword('_Aa一二三45678', {level: 3, ignoreCase: true}); // false
|
|
878
|
+
* isPassword(' _Aa12345678', {level: 3, ignoreCase: true}); // false
|
|
879
|
+
*
|
|
920
880
|
*/
|
|
921
881
|
|
|
922
882
|
function isPassword(value) {
|
|
@@ -948,11 +908,8 @@
|
|
|
948
908
|
* @returns {boolean} 值是否为护照号
|
|
949
909
|
* @example
|
|
950
910
|
*
|
|
951
|
-
* isPassport('E12345678');
|
|
952
|
-
* //
|
|
953
|
-
*
|
|
954
|
-
* isPassport('abc');
|
|
955
|
-
* // => false
|
|
911
|
+
* isPassport('E12345678'); // true
|
|
912
|
+
* isPassport('abc'); // false
|
|
956
913
|
*
|
|
957
914
|
*/
|
|
958
915
|
|
|
@@ -1000,27 +957,20 @@
|
|
|
1000
957
|
* @returns {boolean} 值是否为中文
|
|
1001
958
|
* @example
|
|
1002
959
|
*
|
|
1003
|
-
* isChinese('林某某');
|
|
1004
|
-
* //
|
|
1005
|
-
*
|
|
1006
|
-
* isChinese('林A');
|
|
1007
|
-
* // => false
|
|
960
|
+
* isChinese('林某某'); // true
|
|
961
|
+
* isChinese('林A'); // false
|
|
1008
962
|
*
|
|
1009
963
|
* // 宽松模式,只要包含中文即为true
|
|
1010
|
-
* isChinese('林A', { loose: true });
|
|
1011
|
-
*
|
|
1012
|
-
*
|
|
1013
|
-
* isChinese('A林A', { loose: true });
|
|
1014
|
-
* // => true
|
|
1015
|
-
*
|
|
1016
|
-
* isChinese('𠮷');
|
|
1017
|
-
* // => false
|
|
964
|
+
* isChinese('林A', { loose: true }); // true
|
|
965
|
+
* isChinese('A林A', { loose: true }); // true
|
|
1018
966
|
*
|
|
967
|
+
* // 扩展字符集的字符
|
|
968
|
+
* isChinese('𠮷'); // false
|
|
969
|
+
*
|
|
1019
970
|
* // 使用中文扩展字符集,需要浏览器支持 RegExp.prototype.unicode 才生效。
|
|
1020
|
-
* isChinese('𠮷', { useExtend: true });
|
|
1021
|
-
*
|
|
1022
|
-
*
|
|
1023
|
-
* // => true
|
|
971
|
+
* isChinese('𠮷', { useExtend: true }); // true
|
|
972
|
+
* isChinese('𠮷aa', { useExtend: true, loose: true }); // true
|
|
973
|
+
*
|
|
1024
974
|
*/
|
|
1025
975
|
|
|
1026
976
|
function isChinese(value) {
|
|
@@ -1051,17 +1001,10 @@
|
|
|
1051
1001
|
* @returns {boolean} 值是否为ipv4
|
|
1052
1002
|
* @example
|
|
1053
1003
|
*
|
|
1054
|
-
* isIPv4('192.168.1.1');
|
|
1055
|
-
* //
|
|
1056
|
-
*
|
|
1057
|
-
* isIPv4('
|
|
1058
|
-
* // => true
|
|
1059
|
-
*
|
|
1060
|
-
* isIPv4('256.256.256.256');
|
|
1061
|
-
* // => false
|
|
1062
|
-
*
|
|
1063
|
-
* isIPv4('0.0');
|
|
1064
|
-
* // => false
|
|
1004
|
+
* isIPv4('192.168.1.1'); // true
|
|
1005
|
+
* isIPv4('255.255.255.255'); // true
|
|
1006
|
+
* isIPv4('256.256.256.256'); // false
|
|
1007
|
+
* isIPv4('0.0'); // false
|
|
1065
1008
|
*
|
|
1066
1009
|
*/
|
|
1067
1010
|
|
|
@@ -1082,41 +1025,23 @@
|
|
|
1082
1025
|
* @example
|
|
1083
1026
|
*
|
|
1084
1027
|
* // 冒分十六进制表示法
|
|
1085
|
-
* isIPv6('2001:0DB8:0000:0023:0008:0800:200C:417A');
|
|
1086
|
-
* // => true
|
|
1028
|
+
* isIPv6('2001:0DB8:0000:0023:0008:0800:200C:417A'); // true
|
|
1087
1029
|
*
|
|
1088
1030
|
* // 前导0省略
|
|
1089
|
-
* isIPv6('2001:DB8:0:23:8:800:200C:417A');
|
|
1090
|
-
* //
|
|
1091
|
-
*
|
|
1092
|
-
* isIPv6('FF01:0:0:0:0:0:0:1101');
|
|
1093
|
-
* // => true
|
|
1031
|
+
* isIPv6('2001:DB8:0:23:8:800:200C:417A'); // true
|
|
1032
|
+
* isIPv6('FF01:0:0:0:0:0:0:1101'); // true
|
|
1094
1033
|
*
|
|
1095
1034
|
* // 0位压缩表示法
|
|
1096
|
-
* isIPv6('FF01::1101');
|
|
1097
|
-
* //
|
|
1098
|
-
*
|
|
1099
|
-
* isIPv6('
|
|
1100
|
-
* //
|
|
1101
|
-
*
|
|
1102
|
-
* isIPv6('::');
|
|
1103
|
-
* // => true
|
|
1104
|
-
*
|
|
1105
|
-
* isIPv6('0:0:0:0:0:0:0:1');
|
|
1106
|
-
* // => true
|
|
1107
|
-
*
|
|
1108
|
-
* isIPv6('0:0:0:0:0:0:0:0');
|
|
1109
|
-
* // => true
|
|
1035
|
+
* isIPv6('FF01::1101'); // true
|
|
1036
|
+
* isIPv6('::1'); // true
|
|
1037
|
+
* isIPv6('::'); // true
|
|
1038
|
+
* isIPv6('0:0:0:0:0:0:0:1'); // true
|
|
1039
|
+
* isIPv6('0:0:0:0:0:0:0:0'); // true
|
|
1110
1040
|
*
|
|
1111
1041
|
* // 内嵌IPv4地址表示法
|
|
1112
|
-
* isIPv6('::192.168.1.1');
|
|
1113
|
-
* //
|
|
1114
|
-
*
|
|
1115
|
-
* isIPv6('::FFFF:192.168.1.1');
|
|
1116
|
-
* // => true
|
|
1117
|
-
*
|
|
1118
|
-
* isIPv6('192.168.1.1');
|
|
1119
|
-
* // => false
|
|
1042
|
+
* isIPv6('::192.168.1.1'); // true
|
|
1043
|
+
* isIPv6('::FFFF:192.168.1.1'); // true
|
|
1044
|
+
* isIPv6('192.168.1.1'); // false
|
|
1120
1045
|
*
|
|
1121
1046
|
*/
|
|
1122
1047
|
|
|
@@ -1137,26 +1062,14 @@
|
|
|
1137
1062
|
* @returns {boolean} 值是否为url
|
|
1138
1063
|
* @example
|
|
1139
1064
|
*
|
|
1140
|
-
* isUrl('');
|
|
1141
|
-
* //
|
|
1142
|
-
*
|
|
1143
|
-
* isUrl('
|
|
1144
|
-
* //
|
|
1145
|
-
*
|
|
1146
|
-
* isUrl('example.com');
|
|
1147
|
-
*
|
|
1148
|
-
*
|
|
1149
|
-
* isUrl('http://example.com');
|
|
1150
|
-
* // => true
|
|
1151
|
-
*
|
|
1152
|
-
* isUrl('https://example.com:8080');
|
|
1153
|
-
* // => true
|
|
1154
|
-
*
|
|
1155
|
-
* isUrl('http://www.example.com/test/123');
|
|
1156
|
-
* // => true
|
|
1157
|
-
*
|
|
1158
|
-
* isUrl('http://www.example.com/test/123?foo=bar');
|
|
1159
|
-
* // => true
|
|
1065
|
+
* isUrl(''); // false
|
|
1066
|
+
* isUrl('8.8.8.8'); // false
|
|
1067
|
+
* isUrl('example.com'); // true
|
|
1068
|
+
* isUrl('http://example.com'); // true
|
|
1069
|
+
* isUrl('https://example.com:8080'); // true
|
|
1070
|
+
* isUrl('http://www.example.com/test/123'); // true
|
|
1071
|
+
* isUrl('http://www.example.com/test/123?foo=bar'); // true
|
|
1072
|
+
*
|
|
1160
1073
|
*/
|
|
1161
1074
|
|
|
1162
1075
|
function isUrl(value) {
|
|
@@ -1209,17 +1122,14 @@
|
|
|
1209
1122
|
* @returns {boolean} 值是否为营业执照号
|
|
1210
1123
|
* @example
|
|
1211
1124
|
*
|
|
1212
|
-
* isBusinessLicense('310115600985533');
|
|
1213
|
-
* //
|
|
1125
|
+
* isBusinessLicense('310115600985533'); // true
|
|
1126
|
+
* isBusinessLicense('310115600985535'); // false
|
|
1214
1127
|
*
|
|
1215
|
-
*
|
|
1216
|
-
*
|
|
1217
|
-
*
|
|
1218
|
-
* isBusinessLicense('
|
|
1219
|
-
*
|
|
1220
|
-
*
|
|
1221
|
-
* isBusinessLicense('31011560098', { checkCode: false });
|
|
1222
|
-
* // => false
|
|
1128
|
+
* // 不校验验证码,长度和类型还是有校验
|
|
1129
|
+
* isBusinessLicense('310115600985535', { checkCode: false }); // true
|
|
1130
|
+
* isBusinessLicense('ac115600985535', { checkCode: false }); // false
|
|
1131
|
+
* isBusinessLicense('31011560098', { checkCode: false }); // false
|
|
1132
|
+
*
|
|
1223
1133
|
*/
|
|
1224
1134
|
|
|
1225
1135
|
|
|
@@ -1466,14 +1376,10 @@
|
|
|
1466
1376
|
* @returns {boolean} 是否类似Promise对象
|
|
1467
1377
|
* @example
|
|
1468
1378
|
*
|
|
1469
|
-
* isPromiseLike([]);
|
|
1470
|
-
* =>
|
|
1471
|
-
*
|
|
1472
|
-
*
|
|
1473
|
-
* => true
|
|
1474
|
-
*
|
|
1475
|
-
* isPromiseLike(Promise.resolve());
|
|
1476
|
-
* => true
|
|
1379
|
+
* isPromiseLike([]); // false
|
|
1380
|
+
* isPromiseLike({ then: () => { } }); // true
|
|
1381
|
+
* isPromiseLike(Promise.resolve()); // true
|
|
1382
|
+
*
|
|
1477
1383
|
*/
|
|
1478
1384
|
function isPromiseLike(obj) {
|
|
1479
1385
|
return obj !== null && (_typeof(obj) === 'object' || typeof obj === 'function') && typeof obj.then === 'function';
|
|
@@ -1491,16 +1397,16 @@
|
|
|
1491
1397
|
* @returns {boolean} 是否为港澳居民来往内地通行证
|
|
1492
1398
|
* @example
|
|
1493
1399
|
* // 第一代 11 位
|
|
1494
|
-
* isHMCard('h3203117707') // true
|
|
1495
|
-
* isHMCard('H3203117707') // true
|
|
1496
|
-
* isHMCard('m3203117707') // true
|
|
1497
|
-
* isHMCard('M3203117707') // true
|
|
1400
|
+
* isHMCard('h3203117707'); // true
|
|
1401
|
+
* isHMCard('H3203117707'); // true
|
|
1402
|
+
* isHMCard('m3203117707'); // true
|
|
1403
|
+
* isHMCard('M3203117707'); // true
|
|
1498
1404
|
*
|
|
1499
1405
|
* // 第二代 9 位
|
|
1500
|
-
* isHMCard('h32031177') // true
|
|
1501
|
-
* isHMCard('H32031177') // true
|
|
1502
|
-
* isHMCard('m32031177') // true
|
|
1503
|
-
* isHMCard('M32031177') // true
|
|
1406
|
+
* isHMCard('h32031177'); // true
|
|
1407
|
+
* isHMCard('H32031177'); // true
|
|
1408
|
+
* isHMCard('m32031177'); // true
|
|
1409
|
+
* isHMCard('M32031177'); // true
|
|
1504
1410
|
*/
|
|
1505
1411
|
|
|
1506
1412
|
function isHMCard(value) {
|
|
@@ -1523,12 +1429,15 @@
|
|
|
1523
1429
|
* @param {boolean} [options.loose=false] 宽松模式。如果为true,表示支持一次性短期通行证
|
|
1524
1430
|
* @returns {boolean} 是否为台湾居民来往大陆通行证
|
|
1525
1431
|
* @example
|
|
1526
|
-
*
|
|
1527
|
-
* isTWCard('
|
|
1432
|
+
*
|
|
1433
|
+
* isTWCard('12345678'); // true
|
|
1434
|
+
* isTWCard('07257456'); // true
|
|
1528
1435
|
*
|
|
1529
1436
|
* // 一次性短期
|
|
1530
|
-
* isTWCard('F290299977') // false
|
|
1531
|
-
*
|
|
1437
|
+
* isTWCard('F290299977'); // false
|
|
1438
|
+
*
|
|
1439
|
+
* // 宽松模式,支持一次性短期通行证
|
|
1440
|
+
* isTWCard('F290299977', { loose: true }); // true
|
|
1532
1441
|
*/
|
|
1533
1442
|
|
|
1534
1443
|
function isTWCard(value) {
|
|
@@ -1557,13 +1466,13 @@
|
|
|
1557
1466
|
* @returns {boolean} 值是否为 Swift Code
|
|
1558
1467
|
* @example
|
|
1559
1468
|
*
|
|
1560
|
-
* isSwiftCode('DEUTDEFF') //
|
|
1561
|
-
* isSwiftCode('deutdeff') //
|
|
1469
|
+
* isSwiftCode('DEUTDEFF'); // true
|
|
1470
|
+
* isSwiftCode('deutdeff'); // false
|
|
1562
1471
|
*
|
|
1563
|
-
* isSwiftCode('BKTWTWTP010') //
|
|
1564
|
-
* isSwiftCode('010BKTWTWTP') //
|
|
1472
|
+
* isSwiftCode('BKTWTWTP010'); // true
|
|
1473
|
+
* isSwiftCode('010BKTWTWTP'); // false
|
|
1565
1474
|
*
|
|
1566
|
-
* isSwiftCode('ICBKCNBJBJM') //
|
|
1475
|
+
* isSwiftCode('ICBKCNBJBJM'); // true
|
|
1567
1476
|
*
|
|
1568
1477
|
*/
|
|
1569
1478
|
|
|
@@ -1938,32 +1847,26 @@
|
|
|
1938
1847
|
* @example
|
|
1939
1848
|
*
|
|
1940
1849
|
* // 整数
|
|
1941
|
-
* formatMoney('1000');
|
|
1942
|
-
* // => 1,000.00
|
|
1850
|
+
* formatMoney('1000'); // 1,000.00
|
|
1943
1851
|
*
|
|
1944
1852
|
* // 小数(默认保留2位小数)
|
|
1945
|
-
* formatMoney('3000.03');
|
|
1946
|
-
* // => 3,000.03
|
|
1853
|
+
* formatMoney('3000.03'); // 3,000.03
|
|
1947
1854
|
*
|
|
1948
1855
|
* // 保留4位小数
|
|
1949
|
-
* formatMoney('3000.0300', { precision: 4 });
|
|
1950
|
-
* // => 3,000.0300
|
|
1856
|
+
* formatMoney('3000.0300', { precision: 4 }); // 3,000.0300
|
|
1951
1857
|
*
|
|
1952
1858
|
* // 保留10位小数
|
|
1953
|
-
* formatMoney('1500.2', { precision: 10 });
|
|
1954
|
-
* // => 1,500.2000000000
|
|
1859
|
+
* formatMoney('1500.2', { precision: 10 }); // 1,500.2000000000
|
|
1955
1860
|
*
|
|
1956
1861
|
* // 自定义单位符号
|
|
1957
|
-
* formatMoney(1000.00, { symbol: '$' });
|
|
1958
|
-
* // => $1,000.00
|
|
1862
|
+
* formatMoney(1000.00, { symbol: '$' }); // $1,000.00
|
|
1959
1863
|
*
|
|
1960
1864
|
* // 自定义千位分割符(默认',')
|
|
1961
|
-
* formatMoney(1000.00, { thousand: '|' });
|
|
1962
|
-
* // => 1|000.00
|
|
1865
|
+
* formatMoney(1000.00, { thousand: '|' }); // 1|000.00
|
|
1963
1866
|
*
|
|
1964
1867
|
* // 自定义小数位分割符(默认'.')
|
|
1965
|
-
* formatMoney(1000.00, { decimal: '&' });
|
|
1966
|
-
*
|
|
1868
|
+
* formatMoney(1000.00, { decimal: '&' }); // 1,000&00
|
|
1869
|
+
*
|
|
1967
1870
|
*/
|
|
1968
1871
|
|
|
1969
1872
|
|
|
@@ -2018,20 +1921,16 @@
|
|
|
2018
1921
|
* @example
|
|
2019
1922
|
*
|
|
2020
1923
|
* // 19位银行卡
|
|
2021
|
-
* formatBankCard('6228480402564890018');
|
|
2022
|
-
* // => 6228 4804 0256 4890 018
|
|
1924
|
+
* formatBankCard('6228480402564890018'); // 6228 4804 0256 4890 018
|
|
2023
1925
|
*
|
|
2024
1926
|
* // 16位银行卡
|
|
2025
|
-
* formatBankCard('6228480402564890');
|
|
2026
|
-
* // => 6228 4804 0256 4890
|
|
1927
|
+
* formatBankCard('6228480402564890'); // 6228 4804 0256 4890
|
|
2027
1928
|
*
|
|
2028
1929
|
* // 脱敏银行卡
|
|
2029
|
-
* formatBankCard('6228********890');
|
|
2030
|
-
* // => 6228 **** **** 890
|
|
1930
|
+
* formatBankCard('6228********890'); // 6228 **** **** 890
|
|
2031
1931
|
*
|
|
2032
1932
|
* // 16位银行卡,"-"间隔
|
|
2033
|
-
* formatBankCard('6228480402564890', {char: '-'});
|
|
2034
|
-
* // => 6228-4804-0256-4890
|
|
1933
|
+
* formatBankCard('6228480402564890', {char: '-'}); // 6228-4804-0256-4890
|
|
2035
1934
|
*
|
|
2036
1935
|
*/
|
|
2037
1936
|
|
|
@@ -2068,33 +1967,25 @@
|
|
|
2068
1967
|
* @example
|
|
2069
1968
|
*
|
|
2070
1969
|
* // 手机号
|
|
2071
|
-
* replaceChar('13000000000');
|
|
2072
|
-
* // => 130****0000
|
|
1970
|
+
* replaceChar('13000000000'); // 130****0000
|
|
2073
1971
|
*
|
|
2074
1972
|
* // 身份证
|
|
2075
|
-
* replaceChar('130701199310302288');
|
|
2076
|
-
* // => 130***********2288
|
|
1973
|
+
* replaceChar('130701199310302288'); // 130***********2288
|
|
2077
1974
|
*
|
|
2078
1975
|
* // 邮箱
|
|
2079
1976
|
* const email = '12345@qq.com'
|
|
2080
|
-
* replaceChar(email, {start: 2, end: email.indexOf('@'), repeat: 4});
|
|
2081
|
-
* // => 12****@qq.com
|
|
1977
|
+
* replaceChar(email, {start: 2, end: email.indexOf('@'), repeat: 4}); // 12****@qq.com
|
|
2082
1978
|
*
|
|
2083
1979
|
* // 银行卡号
|
|
2084
|
-
* replaceChar('6228480402564890018', {start: 0, end: -4, repeat: 4});
|
|
2085
|
-
* // => ****0018
|
|
1980
|
+
* replaceChar('6228480402564890018', {start: 0, end: -4, repeat: 4}); // ****0018
|
|
2086
1981
|
*
|
|
2087
|
-
* //
|
|
2088
|
-
* replaceChar('6228 4804 0256 4890 018', {start: 4, end: -4, exclude: ' '});
|
|
2089
|
-
* // => 6228 **** **** **** 018
|
|
1982
|
+
* // 带格式的银行卡号,忽略空字符串
|
|
1983
|
+
* replaceChar('6228 4804 0256 4890 018', {start: 4, end: -4, exclude: ' '}); // 6228 **** **** **** 018
|
|
2090
1984
|
*
|
|
2091
1985
|
* // 用户名
|
|
2092
|
-
* replaceChar('林某某', {start: 1, end: Infinity, repeat: 2});
|
|
2093
|
-
* //
|
|
2094
|
-
* replaceChar('
|
|
2095
|
-
* // => 林**
|
|
2096
|
-
* replaceChar('林某某某', {start: 1, end: Infinity, repeat: 2});
|
|
2097
|
-
* // => 林**
|
|
1986
|
+
* replaceChar('林某某', {start: 1, end: Infinity, repeat: 2}); // 林**
|
|
1987
|
+
* replaceChar('林某', {start: 1, end: Infinity, repeat: 2}); // 林**
|
|
1988
|
+
* replaceChar('林某某某', {start: 1, end: Infinity, repeat: 2}); // 林**
|
|
2098
1989
|
*
|
|
2099
1990
|
*/
|
|
2100
1991
|
|
|
@@ -2286,7 +2177,7 @@
|
|
|
2286
2177
|
* @param {Object} [options] 配置项
|
|
2287
2178
|
* @param {boolean} [options.big5=false] 繁体
|
|
2288
2179
|
* @param {boolean} [options.unit=true] 计数单位
|
|
2289
|
-
* @param {string} [options.decimal="点"]
|
|
2180
|
+
* @param {string} [options.decimal="点"] 中文小数点,繁体字为點
|
|
2290
2181
|
* @param {string} [options.zero="零"] 设置0。常用配置 〇
|
|
2291
2182
|
* @param {string} [options.negative="负"] 负数前面的字
|
|
2292
2183
|
* @param {Object} [options.unitConfig] 节点单位配置
|
|
@@ -2295,29 +2186,21 @@
|
|
|
2295
2186
|
* @returns {string} 中文数字
|
|
2296
2187
|
* @example
|
|
2297
2188
|
*
|
|
2298
|
-
* numberToChinese(100);
|
|
2299
|
-
* //
|
|
2300
|
-
*
|
|
2301
|
-
* numberToChinese(
|
|
2302
|
-
* // => 一百点三
|
|
2189
|
+
* numberToChinese(100); // 一百
|
|
2190
|
+
* numberToChinese(100.3); // 一百点三
|
|
2191
|
+
* numberToChinese(1234567890); // 一十二亿三千四百五十六万七千八百九十
|
|
2192
|
+
* numberToChinese(1234567890.11); // 一十二亿三千四百五十六万七千八百九十点一一
|
|
2303
2193
|
*
|
|
2304
2194
|
* // 繁体
|
|
2305
|
-
* numberToChinese(100, {big5: true});
|
|
2306
|
-
* //
|
|
2307
|
-
*
|
|
2308
|
-
* numberToChinese(100.3, {big5: true});
|
|
2309
|
-
* // => 壹佰点叁
|
|
2310
|
-
*
|
|
2311
|
-
* numberToChinese(1234567890, {big5: true});
|
|
2312
|
-
* // => 壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾
|
|
2195
|
+
* numberToChinese(100, {big5: true}); // 壹佰
|
|
2196
|
+
* numberToChinese(100.3, {big5: true}); // 壹佰點叁
|
|
2197
|
+
* numberToChinese(1234567890.11, {big5: true}); // 壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾點壹壹
|
|
2313
2198
|
*
|
|
2314
2199
|
* // 不带计数单位
|
|
2315
|
-
* numberToChinese(1990, {unit: false});
|
|
2316
|
-
* // => 一九九零
|
|
2200
|
+
* numberToChinese(1990, {unit: false}); // 一九九零
|
|
2317
2201
|
*
|
|
2318
2202
|
* // 不带计数单位,修改0
|
|
2319
|
-
* numberToChinese(1990, {unit: false, zero:'〇'});
|
|
2320
|
-
* // => 一九九〇
|
|
2203
|
+
* numberToChinese(1990, {unit: false, zero:'〇'}); // 一九九〇
|
|
2321
2204
|
*
|
|
2322
2205
|
*/
|
|
2323
2206
|
|
|
@@ -2329,7 +2212,7 @@
|
|
|
2329
2212
|
_ref$unit = _ref.unit,
|
|
2330
2213
|
unit = _ref$unit === void 0 ? true : _ref$unit,
|
|
2331
2214
|
_ref$decimal = _ref.decimal,
|
|
2332
|
-
decimal = _ref$decimal === void 0 ? '
|
|
2215
|
+
decimal = _ref$decimal === void 0 ? '' : _ref$decimal,
|
|
2333
2216
|
_ref$zero = _ref.zero,
|
|
2334
2217
|
zero = _ref$zero === void 0 ? '' : _ref$zero,
|
|
2335
2218
|
_ref$negative = _ref.negative,
|
|
@@ -2349,9 +2232,11 @@
|
|
|
2349
2232
|
if (big5) {
|
|
2350
2233
|
numberChar = big5NumberChar.slice();
|
|
2351
2234
|
unitChar = big5UnitChar.slice();
|
|
2235
|
+
decimal = decimal || '點';
|
|
2352
2236
|
} else {
|
|
2353
2237
|
numberChar = chnNumberChar.slice();
|
|
2354
2238
|
unitChar = chnUnitChar.slice();
|
|
2239
|
+
decimal = decimal || '点';
|
|
2355
2240
|
} // 设置节点计数单位,万、亿、万亿
|
|
2356
2241
|
|
|
2357
2242
|
|
|
@@ -2391,17 +2276,11 @@
|
|
|
2391
2276
|
* @returns {string} 存储单位值
|
|
2392
2277
|
* @example
|
|
2393
2278
|
*
|
|
2394
|
-
* bytesToSize(0);
|
|
2395
|
-
* //
|
|
2396
|
-
*
|
|
2397
|
-
* bytesToSize(1024);
|
|
2398
|
-
*
|
|
2399
|
-
*
|
|
2400
|
-
* bytesToSize(3.213243*1024*1024);
|
|
2401
|
-
* // => 3.21 MB
|
|
2402
|
-
*
|
|
2403
|
-
* bytesToSize(1024*1024*1024);
|
|
2404
|
-
* // => 1 GB
|
|
2279
|
+
* bytesToSize(0); // 0 B
|
|
2280
|
+
* bytesToSize(1024); // 1 KB
|
|
2281
|
+
* bytesToSize(3.213243*1024*1024); // 3.21 MB
|
|
2282
|
+
* bytesToSize(1024*1024*1024); // 1 GB
|
|
2283
|
+
*
|
|
2405
2284
|
*/
|
|
2406
2285
|
function bytesToSize(bytes) {
|
|
2407
2286
|
var numBytes = typeof bytes !== 'number' ? Number(bytes) : bytes;
|
|
@@ -2474,11 +2353,11 @@
|
|
|
2474
2353
|
* @param {string} id 身份证号码,支持15位
|
|
2475
2354
|
* @returns {null|IdCardInfo} null 或 省份、生日、性别,省/市/区/年/月/日/性别编码
|
|
2476
2355
|
* @example
|
|
2477
|
-
*
|
|
2478
|
-
* //
|
|
2356
|
+
*
|
|
2357
|
+
* parseIdCard('123456789123456'); // null
|
|
2479
2358
|
*
|
|
2480
2359
|
* // 18位身份证号码
|
|
2481
|
-
* parseIdCard('130701199310302288')
|
|
2360
|
+
* parseIdCard('130701199310302288');
|
|
2482
2361
|
* // =>
|
|
2483
2362
|
* {
|
|
2484
2363
|
* birthday: "1993-10-30",
|
|
@@ -2593,7 +2472,7 @@
|
|
|
2593
2472
|
* @returns {Blob} Blob 对象
|
|
2594
2473
|
* @example
|
|
2595
2474
|
* const dataurl = 'data:text/html;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=';
|
|
2596
|
-
* dataURLToBlob(dataurl);
|
|
2475
|
+
* dataURLToBlob(dataurl); // Blob {size: 32, type: 'text/html'}
|
|
2597
2476
|
*/
|
|
2598
2477
|
function dataURLToBlob(dataurl) {
|
|
2599
2478
|
var arr = dataurl.split(','); // @ts-ignore
|
|
@@ -2626,6 +2505,7 @@
|
|
|
2626
2505
|
* @param {boolean} [base64=true] 添加 base64 标识
|
|
2627
2506
|
* @returns {string} DataURL 格式的字符串
|
|
2628
2507
|
* @example
|
|
2508
|
+
*
|
|
2629
2509
|
* const data = 'PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=';
|
|
2630
2510
|
* setDataURLPrefix(data); // data:image/png;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
2631
2511
|
* setDataURLPrefix(data, 'image/png', false); // data:image/png,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
@@ -2633,6 +2513,7 @@
|
|
|
2633
2513
|
* setDataURLPrefix(data, 'text/html'); // data:text/html;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
2634
2514
|
* setDataURLPrefix(data, ''); // data:;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
2635
2515
|
* setDataURLPrefix(data, '', false); // data:,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
2516
|
+
*
|
|
2636
2517
|
*/
|
|
2637
2518
|
function setDataURLPrefix(data) {
|
|
2638
2519
|
var mimetype = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'image/png';
|
|
@@ -2652,12 +2533,14 @@
|
|
|
2652
2533
|
* @param {...number} args 月/日/时/分/秒/毫秒
|
|
2653
2534
|
* @returns {Date} Date 实例日期对象
|
|
2654
2535
|
* @example
|
|
2536
|
+
*
|
|
2655
2537
|
* safeDate('2022-1-1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
|
|
2656
2538
|
* safeDate('2022/1/1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
|
|
2657
2539
|
* safeDate('2022.1.1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
|
|
2658
2540
|
* safeDate('2022.1.1 11:11'); // Sat Jan 01 2022 11:11:00 GMT+0800 (中国标准时间)
|
|
2659
2541
|
* safeDate(99, 1); // Mon Feb 01 1999 00:00:00 GMT+0800 (中国标准时间)
|
|
2660
2542
|
* safeDate(1646711233171); // Tue Mar 08 2022 11:47:13 GMT+0800 (中国标准时间)
|
|
2543
|
+
*
|
|
2661
2544
|
*
|
|
2662
2545
|
*/
|
|
2663
2546
|
|
|
@@ -2688,17 +2571,19 @@
|
|
|
2688
2571
|
* @param {string} [options.char=' '] 间隔字符
|
|
2689
2572
|
* @returns {string} 格式化后的手机号码
|
|
2690
2573
|
* @example
|
|
2691
|
-
*
|
|
2692
|
-
* formatMobile('13345678900'
|
|
2574
|
+
*
|
|
2575
|
+
* formatMobile('13345678900'); // 133 4567 8900
|
|
2576
|
+
* formatMobile('13345678900', { char: '-' }); // 133-4567-8900
|
|
2693
2577
|
*
|
|
2694
2578
|
* // 脱敏手机号码
|
|
2695
|
-
* formatMobile('133****1234') //
|
|
2696
|
-
* formatMobile('133****1234', { char: '-' }) //
|
|
2579
|
+
* formatMobile('133****1234'); // 133 **** 1234
|
|
2580
|
+
* formatMobile('133****1234', { char: '-' }); // 133-****-1234
|
|
2697
2581
|
*
|
|
2698
2582
|
* // 手机号码位数不够
|
|
2699
|
-
* formatMobile('133') //
|
|
2700
|
-
* formatMobile('133456') //
|
|
2701
|
-
* formatMobile('13345678') //
|
|
2583
|
+
* formatMobile('133'); // 133
|
|
2584
|
+
* formatMobile('133456'); // 133 456
|
|
2585
|
+
* formatMobile('13345678'); // 133 4567 8
|
|
2586
|
+
*
|
|
2702
2587
|
*/
|
|
2703
2588
|
|
|
2704
2589
|
function formatMobile(mobileNo) {
|
|
@@ -2730,17 +2615,18 @@
|
|
|
2730
2615
|
* @param {number} [size=2] 指定字符串长度
|
|
2731
2616
|
* @returns {string} 用零填充数字到给定长度的字符串
|
|
2732
2617
|
* @example
|
|
2733
|
-
* padZero(5); //
|
|
2734
|
-
* padZero('5'); //
|
|
2618
|
+
* padZero(5); // 05
|
|
2619
|
+
* padZero('5'); // 05
|
|
2735
2620
|
*
|
|
2736
|
-
* padZero(12); //
|
|
2737
|
-
* padZero('12'); //
|
|
2621
|
+
* padZero(12); // 12
|
|
2622
|
+
* padZero('12'); // 12
|
|
2738
2623
|
*
|
|
2739
|
-
* padZero(688); //
|
|
2740
|
-
* padZero('688'); //
|
|
2624
|
+
* padZero(688); // 688
|
|
2625
|
+
* padZero('688'); // 688
|
|
2741
2626
|
*
|
|
2742
|
-
* padZero(688, 5); //
|
|
2743
|
-
* padZero('688', 5); //
|
|
2627
|
+
* padZero(688, 5); // 00688
|
|
2628
|
+
* padZero('688', 5); // 00688
|
|
2629
|
+
*
|
|
2744
2630
|
*/
|
|
2745
2631
|
|
|
2746
2632
|
function padZero(value) {
|
|
@@ -2769,14 +2655,10 @@
|
|
|
2769
2655
|
* @returns {number} 乘积
|
|
2770
2656
|
* @example
|
|
2771
2657
|
*
|
|
2772
|
-
* times(3, 0.6);
|
|
2773
|
-
* //
|
|
2774
|
-
*
|
|
2775
|
-
*
|
|
2776
|
-
* // => 3.6
|
|
2777
|
-
*
|
|
2778
|
-
* times(3, 0.6, 2, 10);
|
|
2779
|
-
* // => 36
|
|
2658
|
+
* times(3, 0.6); // 1.8
|
|
2659
|
+
* times(3, 0.6, 2); // 3.6
|
|
2660
|
+
* times(3, 0.6, 2, 10); // 36
|
|
2661
|
+
*
|
|
2780
2662
|
*/
|
|
2781
2663
|
|
|
2782
2664
|
function times() {
|
|
@@ -2819,14 +2701,10 @@
|
|
|
2819
2701
|
* @returns {number} 总和
|
|
2820
2702
|
* @example
|
|
2821
2703
|
*
|
|
2822
|
-
* plus(0.1, 0.2);
|
|
2823
|
-
*
|
|
2824
|
-
*
|
|
2825
|
-
*
|
|
2826
|
-
* // => 0.6
|
|
2827
|
-
*
|
|
2828
|
-
* plus(0.1, 0.2, 0.3, 0.4);
|
|
2829
|
-
* // => 1
|
|
2704
|
+
* plus(0.1, 0.2); // 0.3
|
|
2705
|
+
* plus(0.1, 0.2, 0.3); // 0.6
|
|
2706
|
+
* plus(0.1, 0.2, 0.3, 0.4); // 1
|
|
2707
|
+
*
|
|
2830
2708
|
*/
|
|
2831
2709
|
|
|
2832
2710
|
function plus() {
|
|
@@ -2865,14 +2743,10 @@
|
|
|
2865
2743
|
* @returns {number} 差
|
|
2866
2744
|
* @example
|
|
2867
2745
|
*
|
|
2868
|
-
* minus(1, 0.9);
|
|
2869
|
-
*
|
|
2870
|
-
*
|
|
2871
|
-
*
|
|
2872
|
-
* // => 0.08
|
|
2873
|
-
*
|
|
2874
|
-
* minus(1, 0.9, 0.02, 0.08);
|
|
2875
|
-
* // => 0
|
|
2746
|
+
* minus(1, 0.9); // 0.1
|
|
2747
|
+
* minus(1, 0.9, 0.02); // 0.08
|
|
2748
|
+
* minus(1, 0.9, 0.02, 0.08); // 0
|
|
2749
|
+
*
|
|
2876
2750
|
*/
|
|
2877
2751
|
|
|
2878
2752
|
function minus() {
|
|
@@ -2919,6 +2793,7 @@
|
|
|
2919
2793
|
* divide(); // NaN 如果没有传入参数,被除数默认为 undefined 。 Number(undefined) 转换为 NaN ,NaN/1 = NaN
|
|
2920
2794
|
* divide(null); // 0 Number(null) 转换为 0 , 0/1 = 0
|
|
2921
2795
|
* divide('1.5 ', 0.5); // 3 Number('1.5 ') 转换为 1.5 ,1.5/0.5 = 3
|
|
2796
|
+
*
|
|
2922
2797
|
*/
|
|
2923
2798
|
|
|
2924
2799
|
function divide() {
|
|
@@ -2962,14 +2837,10 @@
|
|
|
2962
2837
|
* @returns {number} 四舍五入的数字
|
|
2963
2838
|
* @example
|
|
2964
2839
|
*
|
|
2965
|
-
* round(4.006);
|
|
2966
|
-
* //
|
|
2967
|
-
*
|
|
2968
|
-
*
|
|
2969
|
-
* // => 4.01
|
|
2970
|
-
*
|
|
2971
|
-
* round(4060, -2);
|
|
2972
|
-
* // => 4100
|
|
2840
|
+
* round(4.006); // 4
|
|
2841
|
+
* round(4.006, 2); // 4.01
|
|
2842
|
+
* round(4060, -2); // 4100
|
|
2843
|
+
*
|
|
2973
2844
|
*/
|
|
2974
2845
|
|
|
2975
2846
|
function round(num) {
|
|
@@ -2994,6 +2865,7 @@
|
|
|
2994
2865
|
* @param {number} [time=1000] 延时时间,单位毫秒
|
|
2995
2866
|
* @returns {Promise<void>}
|
|
2996
2867
|
* @example
|
|
2868
|
+
*
|
|
2997
2869
|
* const test = async ()=>{
|
|
2998
2870
|
* await waitTime();
|
|
2999
2871
|
* // do something
|
|
@@ -3001,7 +2873,8 @@
|
|
|
3001
2873
|
*
|
|
3002
2874
|
* waitTime(500).then(()=>{
|
|
3003
2875
|
* // do something
|
|
3004
|
-
* })
|
|
2876
|
+
* });
|
|
2877
|
+
*
|
|
3005
2878
|
*/
|
|
3006
2879
|
function waitTime() {
|
|
3007
2880
|
var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1000;
|
|
@@ -3103,12 +2976,14 @@
|
|
|
3103
2976
|
* @param {string} [optionalChars='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'] 允许的字符,默认为数字和大小写字母
|
|
3104
2977
|
* @returns {string} 随机字符串
|
|
3105
2978
|
* @example
|
|
2979
|
+
*
|
|
3106
2980
|
* randomString(5); // slk23
|
|
3107
2981
|
* randomString(8); // 71mHqo2A
|
|
3108
2982
|
*
|
|
3109
2983
|
* // 自定义允许的字符
|
|
3110
2984
|
* randomString(5, 'abc'); // ccbcb
|
|
3111
2985
|
* randomString(8, 'abcefg'); // bcgcfabg
|
|
2986
|
+
*
|
|
3112
2987
|
*/
|
|
3113
2988
|
|
|
3114
2989
|
|