util-helpers 4.7.0 → 4.8.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.
@@ -0,0 +1,56 @@
1
+ var numberChars = '0123456789';
2
+ var letterChars = 'abcdefghijklmnopqrstuvwxyz';
3
+ var defaultChars = numberChars + letterChars + letterChars.toUpperCase();
4
+ /**
5
+ * @private
6
+ * @param {number} [len=0] 长度
7
+ * @param {string} [optionalChars] 允许的字符,默认为数字和大小写字母
8
+ * @param {string} [prefix=''] 前缀部分,不计入长度
9
+ * @returns {string}
10
+ */
11
+
12
+ function internalRandomString() {
13
+ var len = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
14
+ var optionalChars = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultChars;
15
+ var prefix = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
16
+
17
+ while (len-- > 0) {
18
+ var r = optionalChars[Math.floor(Math.random() * optionalChars.length)];
19
+ return internalRandomString(len, optionalChars, prefix + r);
20
+ }
21
+
22
+ return prefix;
23
+ }
24
+ /**
25
+ * 生成随机字符串
26
+ *
27
+ * @static
28
+ * @alias module:Other.randomString
29
+ * @since 4.8.0
30
+ * @param {number} [len=0] 长度
31
+ * @param {string} [optionalChars] 允许的字符,默认为数字和大小写字母
32
+ * @returns {string} 随机字符串
33
+ * @example
34
+ * randomString(5); // slk23
35
+ * randomString(8); // 71mHqo2A
36
+ *
37
+ * // 自定义允许的字符
38
+ * randomString(5, 'abc'); // ccbcb
39
+ * randomString(8, 'abcefg'); // bcgcfabg
40
+ */
41
+
42
+
43
+ function randomString() {
44
+ var len = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
45
+ var optionalChars = arguments.length > 1 ? arguments[1] : undefined;
46
+ var realLen = typeof len === 'number' ? len : Number(len);
47
+
48
+ if (isNaN(realLen)) {
49
+ realLen = 0;
50
+ }
51
+
52
+ var realChars = typeof optionalChars === 'string' && optionalChars ? optionalChars : defaultChars;
53
+ return internalRandomString(len, realChars);
54
+ }
55
+
56
+ export default randomString;
package/lib/index.js CHANGED
@@ -249,6 +249,12 @@ Object.defineProperty(exports, "calculateCursorPosition", {
249
249
  return _calculateCursorPosition["default"];
250
250
  }
251
251
  });
252
+ Object.defineProperty(exports, "randomString", {
253
+ enumerable: true,
254
+ get: function get() {
255
+ return _randomString["default"];
256
+ }
257
+ });
252
258
  Object.defineProperty(exports, "setDisableWarning", {
253
259
  enumerable: true,
254
260
  get: function get() {
@@ -338,6 +344,8 @@ var _waitTime = _interopRequireDefault(require("./waitTime"));
338
344
 
339
345
  var _calculateCursorPosition = _interopRequireDefault(require("./calculateCursorPosition"));
340
346
 
347
+ var _randomString = _interopRequireDefault(require("./randomString"));
348
+
341
349
  var _config = require("./utils/config");
342
350
 
343
351
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
package/lib/isIdCard.js CHANGED
@@ -33,7 +33,7 @@ function check(id) {
33
33
  if (num < 10) {
34
34
  return num === Number(id[17]);
35
35
  } else {
36
- return id[17] == 'X';
36
+ return id[17].toUpperCase() === 'X';
37
37
  }
38
38
  }
39
39
  /**
@@ -12,9 +12,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
12
12
  // 基础规则,由18位数字和大写字母组成,不使用I、O、Z、S、V。
13
13
  var baseReg = /^[\dA-HJ-NPQRTUWXY]{2}\d{6}[\dA-HJ-NPQRTUWXY]{10}$/; // 基础字符组成
14
14
 
15
- var baseCodeArr = '0123456789ABCDEFGHJKLMNPQRTUWXY'.split(''); //加权因子
16
-
17
- var weightFactor = [1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28];
15
+ var baseCodeArr = '0123456789ABCDEFGHJKLMNPQRTUWXY'.split('');
18
16
  /**
19
17
  * 获取字符位置
20
18
  *
@@ -54,7 +52,7 @@ function sumCheckCode(preCode) {
54
52
  // 字符位置对应的基础编码序号
55
53
  var index = getBaseCodeIndex(preCode[i]); // 加权因子
56
54
 
57
- var wf = weightFactor[i]; // 计算序号和加权因子的乘积,并计算级数之和
55
+ var wf = Math.pow(3, i) % 31; // 计算序号和加权因子的乘积,并计算级数之和
58
56
 
59
57
  total += index * wf;
60
58
  } // 计算整数求余函数MOD
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var numberChars = '0123456789';
8
+ var letterChars = 'abcdefghijklmnopqrstuvwxyz';
9
+ var defaultChars = numberChars + letterChars + letterChars.toUpperCase();
10
+ /**
11
+ * @private
12
+ * @param {number} [len=0] 长度
13
+ * @param {string} [optionalChars] 允许的字符,默认为数字和大小写字母
14
+ * @param {string} [prefix=''] 前缀部分,不计入长度
15
+ * @returns {string}
16
+ */
17
+
18
+ function internalRandomString() {
19
+ var len = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
20
+ var optionalChars = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultChars;
21
+ var prefix = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
22
+
23
+ while (len-- > 0) {
24
+ var r = optionalChars[Math.floor(Math.random() * optionalChars.length)];
25
+ return internalRandomString(len, optionalChars, prefix + r);
26
+ }
27
+
28
+ return prefix;
29
+ }
30
+ /**
31
+ * 生成随机字符串
32
+ *
33
+ * @static
34
+ * @alias module:Other.randomString
35
+ * @since 4.8.0
36
+ * @param {number} [len=0] 长度
37
+ * @param {string} [optionalChars] 允许的字符,默认为数字和大小写字母
38
+ * @returns {string} 随机字符串
39
+ * @example
40
+ * randomString(5); // slk23
41
+ * randomString(8); // 71mHqo2A
42
+ *
43
+ * // 自定义允许的字符
44
+ * randomString(5, 'abc'); // ccbcb
45
+ * randomString(8, 'abcefg'); // bcgcfabg
46
+ */
47
+
48
+
49
+ function randomString() {
50
+ var len = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
51
+ var optionalChars = arguments.length > 1 ? arguments[1] : undefined;
52
+ var realLen = typeof len === 'number' ? len : Number(len);
53
+
54
+ if (isNaN(realLen)) {
55
+ realLen = 0;
56
+ }
57
+
58
+ var realChars = typeof optionalChars === 'string' && optionalChars ? optionalChars : defaultChars;
59
+ return internalRandomString(len, realChars);
60
+ }
61
+
62
+ var _default = randomString;
63
+ exports["default"] = _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "util-helpers",
3
- "version": "4.7.0",
3
+ "version": "4.8.0",
4
4
  "description": "一个基于业务场景的工具方法库",
5
5
  "main": "lib/index.js",
6
6
  "module": "esm/index.js",
package/types/index.d.ts CHANGED
@@ -39,4 +39,5 @@ export { default as divide } from "./divide";
39
39
  export { default as round } from "./round";
40
40
  export { default as waitTime } from "./waitTime";
41
41
  export { default as calculateCursorPosition } from "./calculateCursorPosition";
42
+ export { default as randomString } from "./randomString";
42
43
  export { setDisableWarning } from "./utils/config";
@@ -0,0 +1,19 @@
1
+ export default randomString;
2
+ /**
3
+ * 生成随机字符串
4
+ *
5
+ * @static
6
+ * @alias module:Other.randomString
7
+ * @since 4.8.0
8
+ * @param {number} [len=0] 长度
9
+ * @param {string} [optionalChars] 允许的字符,默认为数字和大小写字母
10
+ * @returns {string} 随机字符串
11
+ * @example
12
+ * randomString(5); // slk23
13
+ * randomString(8); // 71mHqo2A
14
+ *
15
+ * // 自定义允许的字符
16
+ * randomString(5, 'abc'); // ccbcb
17
+ * randomString(8, 'abcefg'); // bcgcfabg
18
+ */
19
+ declare function randomString(len?: number | undefined, optionalChars?: string | undefined): string;