util-helpers 4.12.4 → 4.12.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/README.md +9 -5
  2. package/dist/util-helpers.js +225 -363
  3. package/dist/util-helpers.js.map +1 -1
  4. package/dist/util-helpers.min.js +1 -1
  5. package/dist/util-helpers.min.js.map +1 -1
  6. package/esm/bytesToSize.js +5 -11
  7. package/esm/calculateCursorPosition.js +1 -1
  8. package/esm/dataURLToBlob.js +1 -1
  9. package/esm/divide.js +1 -0
  10. package/esm/formatBankCard.js +4 -8
  11. package/esm/formatMobile.js +9 -7
  12. package/esm/formatMoney.js +8 -14
  13. package/esm/isBankCard.js +6 -11
  14. package/esm/isBusinessLicense.js +7 -10
  15. package/esm/isChinese.js +10 -17
  16. package/esm/isEmail.js +2 -5
  17. package/esm/isHMCard.js +8 -8
  18. package/esm/isIPv4.js +4 -11
  19. package/esm/isIPv6.js +11 -29
  20. package/esm/isIdCard.js +9 -12
  21. package/esm/isMobile.js +2 -5
  22. package/esm/isPassport.js +2 -5
  23. package/esm/isPassword.js +14 -21
  24. package/esm/isPostcode.js +2 -5
  25. package/esm/isPromiseLike.js +4 -8
  26. package/esm/isQQ.js +2 -5
  27. package/esm/isSocialCreditCode.js +6 -11
  28. package/esm/isSwiftCode.js +5 -5
  29. package/esm/isTWCard.js +7 -4
  30. package/esm/isTelephone.js +7 -10
  31. package/esm/isUrl.js +8 -20
  32. package/esm/isVehicle.js +9 -14
  33. package/esm/isWX.js +2 -5
  34. package/esm/minus.js +4 -8
  35. package/esm/normalizeString.js +2 -0
  36. package/esm/numberToChinese.js +13 -19
  37. package/esm/padZero.js +9 -8
  38. package/esm/parseIdCard.js +8 -17
  39. package/esm/plus.js +4 -8
  40. package/esm/randomString.js +2 -0
  41. package/esm/replaceChar.js +9 -17
  42. package/esm/round.js +4 -8
  43. package/esm/safeDate.js +2 -0
  44. package/esm/setDataURLPrefix.js +2 -0
  45. package/esm/times.js +4 -8
  46. package/esm/utils/config.js +1 -1
  47. package/esm/utils/math.util.js +4 -9
  48. package/esm/waitTime.js +3 -1
  49. package/lib/bytesToSize.js +5 -11
  50. package/lib/calculateCursorPosition.js +1 -1
  51. package/lib/dataURLToBlob.js +1 -1
  52. package/lib/divide.js +1 -0
  53. package/lib/formatBankCard.js +4 -8
  54. package/lib/formatMobile.js +9 -7
  55. package/lib/formatMoney.js +8 -14
  56. package/lib/isBankCard.js +6 -11
  57. package/lib/isBusinessLicense.js +7 -10
  58. package/lib/isChinese.js +10 -17
  59. package/lib/isEmail.js +2 -5
  60. package/lib/isHMCard.js +8 -8
  61. package/lib/isIPv4.js +4 -11
  62. package/lib/isIPv6.js +11 -29
  63. package/lib/isIdCard.js +9 -12
  64. package/lib/isMobile.js +2 -5
  65. package/lib/isPassport.js +2 -5
  66. package/lib/isPassword.js +14 -21
  67. package/lib/isPostcode.js +2 -5
  68. package/lib/isPromiseLike.js +4 -8
  69. package/lib/isQQ.js +2 -5
  70. package/lib/isSocialCreditCode.js +6 -11
  71. package/lib/isSwiftCode.js +5 -5
  72. package/lib/isTWCard.js +7 -4
  73. package/lib/isTelephone.js +7 -10
  74. package/lib/isUrl.js +8 -20
  75. package/lib/isVehicle.js +9 -14
  76. package/lib/isWX.js +2 -5
  77. package/lib/minus.js +4 -8
  78. package/lib/normalizeString.js +2 -0
  79. package/lib/numberToChinese.js +13 -19
  80. package/lib/padZero.js +9 -8
  81. package/lib/parseIdCard.js +8 -19
  82. package/lib/plus.js +4 -8
  83. package/lib/randomString.js +2 -0
  84. package/lib/replaceChar.js +9 -17
  85. package/lib/round.js +4 -8
  86. package/lib/safeDate.js +2 -0
  87. package/lib/setDataURLPrefix.js +2 -0
  88. package/lib/times.js +4 -8
  89. package/lib/utils/config.js +1 -1
  90. package/lib/utils/math.util.js +4 -9
  91. package/lib/waitTime.js +3 -1
  92. package/package.json +1 -1
  93. package/types/src/bytesToSize.d.ts +4 -10
  94. package/types/src/dataURLToBlob.d.ts +1 -1
  95. package/types/src/divide.d.ts +1 -0
  96. package/types/src/formatBankCard.d.ts +4 -8
  97. package/types/src/formatMobile.d.ts +9 -7
  98. package/types/src/formatMoney.d.ts +8 -14
  99. package/types/src/isBankCard.d.ts +5 -10
  100. package/types/src/isBusinessLicense.d.ts +6 -9
  101. package/types/src/isChinese.d.ts +9 -16
  102. package/types/src/isEmail.d.ts +2 -5
  103. package/types/src/isHMCard.d.ts +8 -8
  104. package/types/src/isIPv4.d.ts +4 -11
  105. package/types/src/isIPv6.d.ts +11 -29
  106. package/types/src/isIdCard.d.ts +8 -11
  107. package/types/src/isMobile.d.ts +2 -5
  108. package/types/src/isPassport.d.ts +2 -5
  109. package/types/src/isPassword.d.ts +10 -17
  110. package/types/src/isPostcode.d.ts +2 -5
  111. package/types/src/isPromiseLike.d.ts +3 -7
  112. package/types/src/isQQ.d.ts +2 -5
  113. package/types/src/isSocialCreditCode.d.ts +6 -11
  114. package/types/src/isSwiftCode.d.ts +5 -5
  115. package/types/src/isTWCard.d.ts +7 -4
  116. package/types/src/isTelephone.d.ts +6 -9
  117. package/types/src/isUrl.d.ts +7 -19
  118. package/types/src/isVehicle.d.ts +8 -13
  119. package/types/src/isWX.d.ts +2 -5
  120. package/types/src/minus.d.ts +3 -7
  121. package/types/src/normalizeString.d.ts +2 -0
  122. package/types/src/numberToChinese.d.ts +10 -18
  123. package/types/src/padZero.d.ts +9 -8
  124. package/types/src/parseIdCard.d.ts +3 -3
  125. package/types/src/plus.d.ts +3 -7
  126. package/types/src/randomString.d.ts +2 -0
  127. package/types/src/replaceChar.d.ts +9 -17
  128. package/types/src/round.d.ts +3 -7
  129. package/types/src/safeDate.d.ts +2 -0
  130. package/types/src/setDataURLPrefix.d.ts +2 -0
  131. package/types/src/times.d.ts +3 -7
  132. package/types/src/waitTime.d.ts +3 -1
@@ -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('林某', {start: 1, end: Infinity, repeat: 2});
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
- * // => 4
29
- *
30
- * round(4.006, 2);
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) {
@@ -19,6 +19,7 @@ exports["default"] = void 0;
19
19
  * @param {boolean} [base64=true] 添加 base64 标识
20
20
  * @returns {string} DataURL 格式的字符串
21
21
  * @example
22
+ *
22
23
  * const data = 'PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=';
23
24
  * setDataURLPrefix(data); // data:image/png;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
24
25
  * setDataURLPrefix(data, 'image/png', false); // data:image/png,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
@@ -26,6 +27,7 @@ exports["default"] = void 0;
26
27
  * setDataURLPrefix(data, 'text/html'); // data:text/html;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
27
28
  * setDataURLPrefix(data, ''); // data:;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
28
29
  * setDataURLPrefix(data, '', false); // data:,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
30
+ *
29
31
  */
30
32
  function setDataURLPrefix(data) {
31
33
  var mimetype = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'image/png';
package/lib/times.js CHANGED
@@ -29,14 +29,10 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
29
29
  * @returns {number} 乘积
30
30
  * @example
31
31
  *
32
- * times(3, 0.6);
33
- * // => 1.8
34
- *
35
- * times(3, 0.6, 2);
36
- * // => 3.6
37
- *
38
- * times(3, 0.6, 2, 10);
39
- * // => 36
32
+ * times(3, 0.6); // 1.8
33
+ * times(3, 0.6, 2); // 3.6
34
+ * times(3, 0.6, 2, 10); // 36
35
+ *
40
36
  */
41
37
  function times() {
42
38
  for (var _len = arguments.length, nums = new Array(_len), _key = 0; _key < _len; _key++) {
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.setDisableWarning = setDisableWarning;
7
7
  exports.version = exports.config = void 0;
8
- var version = "4.12.4";
8
+ var version = "4.12.7";
9
9
  exports.version = version;
10
10
  var config = {
11
11
  // 禁用warning提示
@@ -47,18 +47,13 @@ function transformEffectiveNumber(value) {
47
47
  ret = Number.NaN;
48
48
  }
49
49
  } else if ((0, _type.isSymbol)(value)) {
50
- ret = Number.NaN;
51
- } else if (!(0, _type.isNumber)(value)) {
52
- // 其余非数字类型通过 Number 转换
53
50
  // 例如 Symbol 包装器对象将会报错
54
51
  // symObj = Object(Symbol());
55
52
  // Number(symObj); // TypeError: Cannot convert a Symbol value to a number
56
- try {
57
- ret = Number(value);
58
- } catch (err) {
59
- ret = Number.NaN;
60
- console.error(err);
61
- }
53
+ ret = Number.NaN;
54
+ } else if (!(0, _type.isNumber)(value)) {
55
+ // 其余非数字类型通过 Number 转换
56
+ ret = Number(value);
62
57
  } else {
63
58
  ret = value;
64
59
  }
package/lib/waitTime.js CHANGED
@@ -14,6 +14,7 @@ exports["default"] = void 0;
14
14
  * @param {number} [time=1000] 延时时间,单位毫秒
15
15
  * @returns {Promise<void>}
16
16
  * @example
17
+ *
17
18
  * const test = async ()=>{
18
19
  * await waitTime();
19
20
  * // do something
@@ -21,7 +22,8 @@ exports["default"] = void 0;
21
22
  *
22
23
  * waitTime(500).then(()=>{
23
24
  * // do something
24
- * })
25
+ * });
26
+ *
25
27
  */
26
28
  function waitTime() {
27
29
  var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1000;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "util-helpers",
3
- "version": "4.12.4",
3
+ "version": "4.12.7",
4
4
  "description": "一个基于业务场景的工具方法库",
5
5
  "main": "lib/index.js",
6
6
  "module": "esm/index.js",
@@ -9,16 +9,10 @@ export default bytesToSize;
9
9
  * @returns {string} 存储单位值
10
10
  * @example
11
11
  *
12
- * bytesToSize(0);
13
- * // => 0 B
12
+ * bytesToSize(0); // 0 B
13
+ * bytesToSize(1024); // 1 KB
14
+ * bytesToSize(3.213243*1024*1024); // 3.21 MB
15
+ * bytesToSize(1024*1024*1024); // 1 GB
14
16
  *
15
- * bytesToSize(1024);
16
- * // => 1 KB
17
- *
18
- * bytesToSize(3.213243*1024*1024);
19
- * // => 3.21 MB
20
- *
21
- * bytesToSize(1024*1024*1024);
22
- * // => 1 GB
23
17
  */
24
18
  declare function bytesToSize(bytes: number): string;
@@ -10,6 +10,6 @@ export default dataURLToBlob;
10
10
  * @returns {Blob} Blob 对象
11
11
  * @example
12
12
  * const dataurl = 'data:text/html;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=';
13
- * dataURLToBlob(dataurl);
13
+ * dataURLToBlob(dataurl); // Blob {size: 32, type: 'text/html'}
14
14
  */
15
15
  declare function dataURLToBlob(dataurl: string): Blob;
@@ -17,5 +17,6 @@ export default divide;
17
17
  * divide(); // NaN 如果没有传入参数,被除数默认为 undefined 。 Number(undefined) 转换为 NaN ,NaN/1 = NaN
18
18
  * divide(null); // 0 Number(null) 转换为 0 , 0/1 = 0
19
19
  * divide('1.5 ', 0.5); // 3 Number('1.5 ') 转换为 1.5 ,1.5/0.5 = 3
20
+ *
20
21
  */
21
22
  declare function divide(...nums: (number | string)[]): number;
@@ -13,20 +13,16 @@ export default formatBankCard;
13
13
  * @example
14
14
  *
15
15
  * // 19位银行卡
16
- * formatBankCard('6228480402564890018');
17
- * // => 6228 4804 0256 4890 018
16
+ * formatBankCard('6228480402564890018'); // 6228 4804 0256 4890 018
18
17
  *
19
18
  * // 16位银行卡
20
- * formatBankCard('6228480402564890');
21
- * // => 6228 4804 0256 4890
19
+ * formatBankCard('6228480402564890'); // 6228 4804 0256 4890
22
20
  *
23
21
  * // 脱敏银行卡
24
- * formatBankCard('6228********890');
25
- * // => 6228 **** **** 890
22
+ * formatBankCard('6228********890'); // 6228 **** **** 890
26
23
  *
27
24
  * // 16位银行卡,"-"间隔
28
- * formatBankCard('6228480402564890', {char: '-'});
29
- * // => 6228-4804-0256-4890
25
+ * formatBankCard('6228480402564890', {char: '-'}); // 6228-4804-0256-4890
30
26
  *
31
27
  */
32
28
  declare function formatBankCard(bankCardNo?: string, { char, length }?: {
@@ -10,17 +10,19 @@ export default formatMobile;
10
10
  * @param {string} [options.char=' '] 间隔字符
11
11
  * @returns {string} 格式化后的手机号码
12
12
  * @example
13
- * formatMobile('13345678900') // '133 4567 8900'
14
- * formatMobile('13345678900', { char: '-' }) // '133-4567-8900'
13
+ *
14
+ * formatMobile('13345678900'); // 133 4567 8900
15
+ * formatMobile('13345678900', { char: '-' }); // 133-4567-8900
15
16
  *
16
17
  * // 脱敏手机号码
17
- * formatMobile('133****1234') // '133 **** 1234'
18
- * formatMobile('133****1234', { char: '-' }) // '133-****-1234'
18
+ * formatMobile('133****1234'); // 133 **** 1234
19
+ * formatMobile('133****1234', { char: '-' }); // 133-****-1234
19
20
  *
20
21
  * // 手机号码位数不够
21
- * formatMobile('133') // '133'
22
- * formatMobile('133456') // '133 456'
23
- * formatMobile('13345678') // '133 4567 8'
22
+ * formatMobile('133'); // 133
23
+ * formatMobile('133456'); // 133 456
24
+ * formatMobile('13345678'); // 133 4567 8
25
+ *
24
26
  */
25
27
  declare function formatMobile(mobileNo: string, { char }?: {
26
28
  char?: string | undefined;
@@ -15,32 +15,26 @@ export default formatMoney;
15
15
  * @example
16
16
  *
17
17
  * // 整数
18
- * formatMoney('1000');
19
- * // => 1,000.00
18
+ * formatMoney('1000'); // 1,000.00
20
19
  *
21
20
  * // 小数(默认保留2位小数)
22
- * formatMoney('3000.03');
23
- * // => 3,000.03
21
+ * formatMoney('3000.03'); // 3,000.03
24
22
  *
25
23
  * // 保留4位小数
26
- * formatMoney('3000.0300', { precision: 4 });
27
- * // => 3,000.0300
24
+ * formatMoney('3000.0300', { precision: 4 }); // 3,000.0300
28
25
  *
29
26
  * // 保留10位小数
30
- * formatMoney('1500.2', { precision: 10 });
31
- * // => 1,500.2000000000
27
+ * formatMoney('1500.2', { precision: 10 }); // 1,500.2000000000
32
28
  *
33
29
  * // 自定义单位符号
34
- * formatMoney(1000.00, { symbol: '$' });
35
- * // => $1,000.00
30
+ * formatMoney(1000.00, { symbol: '$' }); // $1,000.00
36
31
  *
37
32
  * // 自定义千位分割符(默认',')
38
- * formatMoney(1000.00, { thousand: '|' });
39
- * // => 1|000.00
33
+ * formatMoney(1000.00, { thousand: '|' }); // 1|000.00
40
34
  *
41
35
  * // 自定义小数位分割符(默认'.')
42
- * formatMoney(1000.00, { decimal: '&' });
43
- * // => 1,000&00
36
+ * formatMoney(1000.00, { decimal: '&' }); // 1,000&00
37
+ *
44
38
  */
45
39
  declare function formatMoney(num: string | number, { precision, symbol, thousand, decimal }?: {
46
40
  precision?: string | number | undefined;
@@ -13,17 +13,12 @@ export default isBankCard;
13
13
  * @returns {boolean} 值是否为银行卡号
14
14
  * @example
15
15
  *
16
- * isBankCard('6228480402564890018');
17
- * // => true
16
+ * isBankCard('6228480402564890018'); // true
17
+ * isBankCard('6228480402564890'); // true
18
+ * isBankCard('123456789'); // false
18
19
  *
19
- * isBankCard('6228480402564890');
20
- * // => true
21
- *
22
- * isBankCard('123456789');
23
- * // => false
24
- *
25
- * isBankCard('123456789', { loose: true });
26
- * // => true
20
+ * // 宽松模式
21
+ * isBankCard('123456789', { loose: true }); // true
27
22
  *
28
23
  */
29
24
  declare function isBankCard(value: any, { loose, luhn }?: {
@@ -12,17 +12,14 @@ export default isBusinessLicense;
12
12
  * @returns {boolean} 值是否为营业执照号
13
13
  * @example
14
14
  *
15
- * isBusinessLicense('310115600985533');
16
- * // => true
15
+ * isBusinessLicense('310115600985533'); // true
16
+ * isBusinessLicense('310115600985535'); // false
17
17
  *
18
- * isBusinessLicense('310115600985535');
19
- * // => false
18
+ * // 不校验验证码,长度和类型还是有校验
19
+ * isBusinessLicense('310115600985535', { checkCode: false }); // true
20
+ * isBusinessLicense('ac115600985535', { checkCode: false }); // false
21
+ * isBusinessLicense('31011560098', { checkCode: false }); // false
20
22
  *
21
- * isBusinessLicense('310115600985535', { checkCode: false });
22
- * // => true
23
- *
24
- * isBusinessLicense('31011560098', { checkCode: false });
25
- * // => false
26
23
  */
27
24
  declare function isBusinessLicense(value: any, options?: {
28
25
  checkCode?: boolean | undefined;
@@ -13,27 +13,20 @@ export default isChinese;
13
13
  * @returns {boolean} 值是否为中文
14
14
  * @example
15
15
  *
16
- * isChinese('林某某');
17
- * // => true
18
- *
19
- * isChinese('林A');
20
- * // => false
16
+ * isChinese('林某某'); // true
17
+ * isChinese('林A'); // false
21
18
  *
22
19
  * // 宽松模式,只要包含中文即为true
23
- * isChinese('林A', { loose: true });
24
- * // => true
25
- *
26
- * isChinese('A林A', { loose: true });
27
- * // => true
20
+ * isChinese('林A', { loose: true }); // true
21
+ * isChinese('A林A', { loose: true }); // true
28
22
  *
29
- * isChinese('𠮷');
30
- * // => false
23
+ * // 扩展字符集的字符
24
+ * isChinese('𠮷'); // false
31
25
  *
32
26
  * // 使用中文扩展字符集,需要浏览器支持 RegExp.prototype.unicode 才生效。
33
- * isChinese('𠮷', { useExtend: true });
34
- * // => true
35
- * isChinese('𠮷aa', { useExtend: true, loose: true });
36
- * // => true
27
+ * isChinese('𠮷', { useExtend: true }); // true
28
+ * isChinese('𠮷aa', { useExtend: true, loose: true }); // true
29
+ *
37
30
  */
38
31
  declare function isChinese(value: any, { loose, useExtend }?: {
39
32
  loose?: boolean | undefined;
@@ -9,11 +9,8 @@ export default isEmail;
9
9
  * @returns {boolean} 值是否为Email
10
10
  * @example
11
11
  *
12
- * isEmail('1232@qq.com');
13
- * // => true
14
- *
15
- * isEmail('123@');
16
- * // => false
12
+ * isEmail('1232@qq.com'); // true
13
+ * isEmail('123@'); // false
17
14
  *
18
15
  */
19
16
  declare function isEmail(value: any): boolean;
@@ -10,15 +10,15 @@ export default isHMCard;
10
10
  * @returns {boolean} 是否为港澳居民来往内地通行证
11
11
  * @example
12
12
  * // 第一代 11 位
13
- * isHMCard('h3203117707') // true
14
- * isHMCard('H3203117707') // true
15
- * isHMCard('m3203117707') // true
16
- * isHMCard('M3203117707') // true
13
+ * isHMCard('h3203117707'); // true
14
+ * isHMCard('H3203117707'); // true
15
+ * isHMCard('m3203117707'); // true
16
+ * isHMCard('M3203117707'); // true
17
17
  *
18
18
  * // 第二代 9 位
19
- * isHMCard('h32031177') // true
20
- * isHMCard('H32031177') // true
21
- * isHMCard('m32031177') // true
22
- * isHMCard('M32031177') // true
19
+ * isHMCard('h32031177'); // true
20
+ * isHMCard('H32031177'); // true
21
+ * isHMCard('m32031177'); // true
22
+ * isHMCard('M32031177'); // true
23
23
  */
24
24
  declare function isHMCard(value: any): boolean;
@@ -9,17 +9,10 @@ export default isIPv4;
9
9
  * @returns {boolean} 值是否为ipv4
10
10
  * @example
11
11
  *
12
- * isIPv4('192.168.1.1');
13
- * // => true
14
- *
15
- * isIPv4('255.255.255.255');
16
- * // => true
17
- *
18
- * isIPv4('256.256.256.256');
19
- * // => false
20
- *
21
- * isIPv4('0.0');
22
- * // => false
12
+ * isIPv4('192.168.1.1'); // true
13
+ * isIPv4('255.255.255.255'); // true
14
+ * isIPv4('256.256.256.256'); // false
15
+ * isIPv4('0.0'); // false
23
16
  *
24
17
  */
25
18
  declare function isIPv4(value: any): boolean;
@@ -10,41 +10,23 @@ export default isIPv6;
10
10
  * @example
11
11
  *
12
12
  * // 冒分十六进制表示法
13
- * isIPv6('2001:0DB8:0000:0023:0008:0800:200C:417A');
14
- * // => true
13
+ * isIPv6('2001:0DB8:0000:0023:0008:0800:200C:417A'); // true
15
14
  *
16
15
  * // 前导0省略
17
- * isIPv6('2001:DB8:0:23:8:800:200C:417A');
18
- * // => true
19
- *
20
- * isIPv6('FF01:0:0:0:0:0:0:1101');
21
- * // => true
16
+ * isIPv6('2001:DB8:0:23:8:800:200C:417A'); // true
17
+ * isIPv6('FF01:0:0:0:0:0:0:1101'); // true
22
18
  *
23
19
  * // 0位压缩表示法
24
- * isIPv6('FF01::1101');
25
- * // => true
26
- *
27
- * isIPv6('::1');
28
- * // => true
29
- *
30
- * isIPv6('::');
31
- * // => true
32
- *
33
- * isIPv6('0:0:0:0:0:0:0:1');
34
- * // => true
35
- *
36
- * isIPv6('0:0:0:0:0:0:0:0');
37
- * // => true
20
+ * isIPv6('FF01::1101'); // true
21
+ * isIPv6('::1'); // true
22
+ * isIPv6('::'); // true
23
+ * isIPv6('0:0:0:0:0:0:0:1'); // true
24
+ * isIPv6('0:0:0:0:0:0:0:0'); // true
38
25
  *
39
26
  * // 内嵌IPv4地址表示法
40
- * isIPv6('::192.168.1.1');
41
- * // => true
42
- *
43
- * isIPv6('::FFFF:192.168.1.1');
44
- * // => true
45
- *
46
- * isIPv6('192.168.1.1');
47
- * // => false
27
+ * isIPv6('::192.168.1.1'); // true
28
+ * isIPv6('::FFFF:192.168.1.1'); // true
29
+ * isIPv6('192.168.1.1'); // false
48
30
  *
49
31
  */
50
32
  declare function isIPv6(value: any): boolean;
@@ -12,20 +12,17 @@ export default isIdCard;
12
12
  * @returns {boolean} 值是否为身份证号
13
13
  * @example
14
14
  *
15
- * isIdCard('130701199310302288');
16
- * // => true
15
+ * isIdCard('130701199310302288'); // true
16
+ * isIdCard('13070119931030228X'); // false
17
17
  *
18
- * isIdCard('13070119931030228X');
19
- * // => false
18
+ * // 不校验校验码
19
+ * isIdCard('13070119931030228X', { checkCode: false }); // true
20
20
  *
21
- * isIdCard('13070119931030228X', { checkCode: false }); // 不校验校验码
22
- * // => true
21
+ * // 默认不支持15位身份证号码
22
+ * isIdCard('320311770706001'); // false
23
23
  *
24
- * isIdCard('320311770706001');
25
- * // => false
26
- *
27
- * isIdCard('320311770706001', { loose: true });
28
- * // => true
24
+ * // 宽松模式,支持15位身份证号
25
+ * isIdCard('320311770706001', { loose: true }); // true
29
26
  *
30
27
  */
31
28
  declare function isIdCard(value: any, { loose, checkCode }?: {
@@ -9,11 +9,8 @@ export default isMobile;
9
9
  * @returns {boolean} 值是否为手机号码
10
10
  * @example
11
11
  *
12
- * isMobile('13000000000');
13
- * // => true
14
- *
15
- * isMobile('13000');
16
- * // => false
12
+ * isMobile('13000000000'); // true
13
+ * isMobile('13000'); // false
17
14
  *
18
15
  */
19
16
  declare function isMobile(value: any): boolean;
@@ -11,11 +11,8 @@ export default isPassport;
11
11
  * @returns {boolean} 值是否为护照号
12
12
  * @example
13
13
  *
14
- * isPassport('E12345678');
15
- * // => true
16
- *
17
- * isPassport('abc');
18
- * // => false
14
+ * isPassport('E12345678'); // true
15
+ * isPassport('abc'); // false
19
16
  *
20
17
  */
21
18
  declare function isPassport(value: any): boolean;
@@ -17,27 +17,20 @@ export default isPassword;
17
17
  * @returns {boolean} 值是否符合密码强度
18
18
  * @example
19
19
  *
20
- * isPassword('a12345678');
21
- * // => true
20
+ * isPassword('a12345678'); // true
22
21
  *
23
- * isPassword('a12345678', {level: 3});
24
- * // => false
22
+ * // 3级密码强度
23
+ * isPassword('a12345678', {level: 3}); // false
24
+ * isPassword('Aa12345678', {level: 3}); // true
25
25
  *
26
- * isPassword('Aa12345678', {level: 3});
27
- * // => true
26
+ * // 3级密码强度,大小写字符仅计算1级强度
27
+ * isPassword('Aa12345678', {level: 3, ignoreCase: true}); // false
28
+ * isPassword('_Aa12345678', {level: 3, ignoreCase: true}); // true
28
29
  *
29
- * isPassword('Aa12345678', {level: 3, ignoreCase: true});
30
- * // => false
30
+ * // 仅支持 数字、字母、特殊字符,其他非法字符如中文字符是校验不通过的
31
+ * isPassword('_Aa一二三45678', {level: 3, ignoreCase: true}); // false
32
+ * isPassword(' _Aa12345678', {level: 3, ignoreCase: true}); // false
31
33
  *
32
- * isPassword('_Aa12345678', {level: 3, ignoreCase: true});
33
- * // => true
34
- *
35
- * // 仅支持 数字、字母、特殊字符,其他字符如中文字符是校验不通过的
36
- * isPassword('_Aa一二三45678', {level: 3, ignoreCase: true});
37
- * // => false
38
- *
39
- * isPassword(' _Aa12345678', {level: 3, ignoreCase: true});
40
- * // => false
41
34
  */
42
35
  declare function isPassword(value: any, { level, ignoreCase, special }?: {
43
36
  level?: number | undefined;
@@ -9,11 +9,8 @@ export default isPostcode;
9
9
  * @returns {boolean} 值是否为邮政编码
10
10
  * @example
11
11
  *
12
- * isPostcode('101111');
13
- * // => true
14
- *
15
- * isPostcode('123');
16
- * // => false
12
+ * isPostcode('101111'); // true
13
+ * isPostcode('123'); // false
17
14
  *
18
15
  */
19
16
  declare function isPostcode(value: any): boolean;
@@ -9,13 +9,9 @@ export default isPromiseLike;
9
9
  * @returns {boolean} 是否类似Promise对象
10
10
  * @example
11
11
  *
12
- * isPromiseLike([]);
13
- * => false
12
+ * isPromiseLike([]); // false
13
+ * isPromiseLike({ then: () => { } }); // true
14
+ * isPromiseLike(Promise.resolve()); // true
14
15
  *
15
- * isPromiseLike({then:()=>{}});
16
- * => true
17
- *
18
- * isPromiseLike(Promise.resolve());
19
- * => true
20
16
  */
21
17
  declare function isPromiseLike(obj: any): boolean;