util-helpers 4.9.0 → 4.10.0

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 (54) hide show
  1. package/README.md +2 -0
  2. package/dist/util-helpers.js +146 -103
  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/index.js +1 -0
  7. package/esm/isBankCard.js +2 -2
  8. package/esm/isBusinessLicense.js +2 -2
  9. package/esm/isChinese.js +2 -2
  10. package/esm/isEmail.js +2 -2
  11. package/esm/isHMCard.js +2 -2
  12. package/esm/isIPv4.js +2 -2
  13. package/esm/isIPv6.js +2 -2
  14. package/esm/isIdCard.js +2 -2
  15. package/esm/isMobile.js +2 -2
  16. package/esm/isPassport.js +2 -2
  17. package/esm/isPostcode.js +2 -2
  18. package/esm/isQQ.js +2 -2
  19. package/esm/isSocialCreditCode.js +2 -2
  20. package/esm/isSwiftCode.js +12 -2
  21. package/esm/isTWCard.js +2 -2
  22. package/esm/isTelephone.js +2 -2
  23. package/esm/isUrl.js +2 -2
  24. package/esm/isVehicle.js +2 -2
  25. package/esm/isWX.js +2 -2
  26. package/esm/randomString.js +1 -1
  27. package/esm/strlen.js +38 -0
  28. package/lib/index.js +8 -0
  29. package/lib/isBankCard.js +2 -2
  30. package/lib/isBusinessLicense.js +2 -2
  31. package/lib/isChinese.js +2 -2
  32. package/lib/isEmail.js +2 -2
  33. package/lib/isHMCard.js +2 -2
  34. package/lib/isIPv4.js +2 -2
  35. package/lib/isIPv6.js +2 -2
  36. package/lib/isIdCard.js +2 -2
  37. package/lib/isMobile.js +2 -2
  38. package/lib/isPassport.js +2 -2
  39. package/lib/isPostcode.js +2 -2
  40. package/lib/isQQ.js +2 -2
  41. package/lib/isSocialCreditCode.js +2 -2
  42. package/lib/isSwiftCode.js +12 -2
  43. package/lib/isTWCard.js +2 -2
  44. package/lib/isTelephone.js +2 -2
  45. package/lib/isUrl.js +2 -2
  46. package/lib/isVehicle.js +2 -2
  47. package/lib/isWX.js +2 -2
  48. package/lib/randomString.js +1 -1
  49. package/lib/strlen.js +48 -0
  50. package/package.json +1 -1
  51. package/types/index.d.ts +1 -0
  52. package/types/isSwiftCode.d.ts +10 -0
  53. package/types/randomString.d.ts +1 -1
  54. package/types/strlen.d.ts +20 -0
package/lib/isUrl.js CHANGED
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports["default"] = void 0;
7
7
 
8
- var _convertToString = _interopRequireDefault(require("./utils/convertToString"));
8
+ var _normalizeString = _interopRequireDefault(require("./normalizeString"));
9
9
 
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
11
 
@@ -45,7 +45,7 @@ var reg = /(((^https?:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+(?::\d+)?|(?:
45
45
  */
46
46
 
47
47
  function isUrl(value) {
48
- var valueStr = (0, _convertToString["default"])(value);
48
+ var valueStr = (0, _normalizeString["default"])(value);
49
49
  return reg.test(valueStr);
50
50
  }
51
51
 
package/lib/isVehicle.js CHANGED
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports["default"] = void 0;
7
7
 
8
- var _convertToString = _interopRequireDefault(require("./utils/convertToString"));
8
+ var _normalizeString = _interopRequireDefault(require("./normalizeString"));
9
9
 
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
11
 
@@ -40,7 +40,7 @@ var reg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕
40
40
  */
41
41
 
42
42
  function isVehicle(value) {
43
- var valueStr = (0, _convertToString["default"])(value);
43
+ var valueStr = (0, _normalizeString["default"])(value);
44
44
  return reg.test(valueStr);
45
45
  }
46
46
 
package/lib/isWX.js CHANGED
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports["default"] = void 0;
7
7
 
8
- var _convertToString = _interopRequireDefault(require("./utils/convertToString"));
8
+ var _normalizeString = _interopRequireDefault(require("./normalizeString"));
9
9
 
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
11
 
@@ -30,7 +30,7 @@ var reg = /^[a-z]([-_a-z0-9]{5,19})+$/i;
30
30
  */
31
31
 
32
32
  function isWX(value) {
33
- var valueStr = (0, _convertToString["default"])(value);
33
+ var valueStr = (0, _normalizeString["default"])(value);
34
34
  return reg.test(valueStr);
35
35
  }
36
36
 
@@ -34,7 +34,7 @@ function internalRandomString() {
34
34
  * @alias module:Other.randomString
35
35
  * @since 4.8.0
36
36
  * @param {number} [len=0] 长度
37
- * @param {string} [optionalChars] 允许的字符,默认为数字和大小写字母
37
+ * @param {string} [optionalChars='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'] 允许的字符,默认为数字和大小写字母
38
38
  * @returns {string} 随机字符串
39
39
  * @example
40
40
  * randomString(5); // slk23
package/lib/strlen.js ADDED
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _normalizeString = _interopRequireDefault(require("./normalizeString"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
12
+ /**
13
+ * 获取字符长度。中文汉字占2个字符,英文占1个字符,特殊如emoji占4个字符。
14
+ *
15
+ * @static
16
+ * @alias module:Other.strlen
17
+ * @since 4.10.0
18
+ * @param {string} str 字符串
19
+ * @returns {number} 字符长度
20
+ * @example
21
+ *
22
+ * strlen('你好a'); // 5
23
+ * strlen('你好,世界!'); // 12
24
+ * strlen('严両丞丽'); // 8
25
+ * strlen('abcde'); // 5
26
+ * strlen('𠮷'); // 4
27
+ * strlen('🍎'); // 4
28
+ *
29
+ */
30
+ function strlen(str) {
31
+ var realStr = (0, _normalizeString["default"])(str);
32
+ var len = 0;
33
+
34
+ for (var i = 0; i < realStr.length; i++) {
35
+ var c = realStr.charCodeAt(i);
36
+
37
+ if (c >= 0x0001 && c <= 0x007e || 0xff60 <= c && c <= 0xff9f) {
38
+ len++;
39
+ } else {
40
+ len += 2;
41
+ }
42
+ }
43
+
44
+ return len;
45
+ }
46
+
47
+ var _default = strlen;
48
+ exports["default"] = _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "util-helpers",
3
- "version": "4.9.0",
3
+ "version": "4.10.0",
4
4
  "description": "一个基于业务场景的工具方法库",
5
5
  "main": "lib/index.js",
6
6
  "module": "esm/index.js",
package/types/index.d.ts CHANGED
@@ -41,4 +41,5 @@ export { default as round } from "./round";
41
41
  export { default as waitTime } from "./waitTime";
42
42
  export { default as calculateCursorPosition } from "./calculateCursorPosition";
43
43
  export { default as randomString } from "./randomString";
44
+ export { default as strlen } from "./strlen";
44
45
  export { setDisableWarning } from "./utils/config";
@@ -8,5 +8,15 @@ export default isSwiftCode;
8
8
  * @since 4.9.0
9
9
  * @param {*} value 要检测的值
10
10
  * @returns {boolean} 值是否为 Swift Code
11
+ * @example
12
+ *
13
+ * isSwiftCode('DEUTDEFF') // true
14
+ * isSwiftCode('deutdeff') // false
15
+ *
16
+ * isSwiftCode('BKTWTWTP010') // true
17
+ * isSwiftCode('010BKTWTWTP') // false
18
+ *
19
+ * isSwiftCode('ICBKCNBJBJM') // true
20
+ *
11
21
  */
12
22
  declare function isSwiftCode(value: any): boolean;
@@ -6,7 +6,7 @@ export default randomString;
6
6
  * @alias module:Other.randomString
7
7
  * @since 4.8.0
8
8
  * @param {number} [len=0] 长度
9
- * @param {string} [optionalChars] 允许的字符,默认为数字和大小写字母
9
+ * @param {string} [optionalChars='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'] 允许的字符,默认为数字和大小写字母
10
10
  * @returns {string} 随机字符串
11
11
  * @example
12
12
  * randomString(5); // slk23
@@ -0,0 +1,20 @@
1
+ export default strlen;
2
+ /**
3
+ * 获取字符长度。中文汉字占2个字符,英文占1个字符,特殊如emoji占4个字符。
4
+ *
5
+ * @static
6
+ * @alias module:Other.strlen
7
+ * @since 4.10.0
8
+ * @param {string} str 字符串
9
+ * @returns {number} 字符长度
10
+ * @example
11
+ *
12
+ * strlen('你好a'); // 5
13
+ * strlen('你好,世界!'); // 12
14
+ * strlen('严両丞丽'); // 8
15
+ * strlen('abcde'); // 5
16
+ * strlen('𠮷'); // 4
17
+ * strlen('🍎'); // 4
18
+ *
19
+ */
20
+ declare function strlen(str: string): number;