util-helpers 4.9.0 → 4.10.2
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 +2 -0
- package/dist/util-helpers.js +163 -111
- 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/index.js +1 -0
- package/esm/isBankCard.js +2 -2
- package/esm/isBusinessLicense.js +2 -2
- package/esm/isChinese.js +2 -2
- package/esm/isEmail.js +2 -2
- package/esm/isHMCard.js +2 -2
- package/esm/isIPv4.js +2 -2
- package/esm/isIPv6.js +2 -2
- package/esm/isIdCard.js +2 -2
- package/esm/isMobile.js +2 -2
- package/esm/isPassport.js +4 -4
- package/esm/isPostcode.js +2 -2
- package/esm/isQQ.js +2 -2
- package/esm/isSocialCreditCode.js +2 -2
- package/esm/isSwiftCode.js +12 -2
- package/esm/isTWCard.js +19 -5
- package/esm/isTelephone.js +2 -2
- package/esm/isUrl.js +2 -2
- package/esm/isVehicle.js +2 -2
- package/esm/isWX.js +2 -2
- package/esm/randomString.js +1 -1
- package/esm/strlen.js +38 -0
- package/lib/index.js +8 -0
- package/lib/isBankCard.js +2 -2
- package/lib/isBusinessLicense.js +2 -2
- package/lib/isChinese.js +2 -2
- package/lib/isEmail.js +2 -2
- package/lib/isHMCard.js +2 -2
- package/lib/isIPv4.js +2 -2
- package/lib/isIPv6.js +2 -2
- package/lib/isIdCard.js +2 -2
- package/lib/isMobile.js +2 -2
- package/lib/isPassport.js +5 -5
- package/lib/isPostcode.js +2 -2
- package/lib/isQQ.js +2 -2
- package/lib/isSocialCreditCode.js +2 -2
- package/lib/isSwiftCode.js +12 -2
- package/lib/isTWCard.js +20 -6
- package/lib/isTelephone.js +2 -2
- package/lib/isUrl.js +2 -2
- package/lib/isVehicle.js +2 -2
- package/lib/isWX.js +2 -2
- package/lib/randomString.js +1 -1
- package/lib/strlen.js +48 -0
- package/package.json +1 -1
- package/types/index.d.ts +1 -0
- package/types/isPassport.d.ts +1 -1
- package/types/isSwiftCode.d.ts +10 -0
- package/types/isTWCard.d.ts +7 -2
- package/types/randomString.d.ts +1 -1
- package/types/strlen.d.ts +20 -0
package/lib/isSwiftCode.js
CHANGED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _normalizeString = _interopRequireDefault(require("./normalizeString"));
|
|
9
9
|
|
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
11
|
|
|
@@ -19,10 +19,20 @@ var reg = /^[A-Z]{6}[A-Z\d]{2}(?:[A-Z\d]{3})?$/;
|
|
|
19
19
|
* @since 4.9.0
|
|
20
20
|
* @param {*} value 要检测的值
|
|
21
21
|
* @returns {boolean} 值是否为 Swift Code
|
|
22
|
+
* @example
|
|
23
|
+
*
|
|
24
|
+
* isSwiftCode('DEUTDEFF') // true
|
|
25
|
+
* isSwiftCode('deutdeff') // false
|
|
26
|
+
*
|
|
27
|
+
* isSwiftCode('BKTWTWTP010') // true
|
|
28
|
+
* isSwiftCode('010BKTWTWTP') // false
|
|
29
|
+
*
|
|
30
|
+
* isSwiftCode('ICBKCNBJBJM') // true
|
|
31
|
+
*
|
|
22
32
|
*/
|
|
23
33
|
|
|
24
34
|
function isSwiftCode(value) {
|
|
25
|
-
var valueStr = (0,
|
|
35
|
+
var valueStr = (0, _normalizeString["default"])(value);
|
|
26
36
|
return reg.test(valueStr);
|
|
27
37
|
}
|
|
28
38
|
|
package/lib/isTWCard.js
CHANGED
|
@@ -5,12 +5,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _normalizeString = _interopRequireDefault(require("./normalizeString"));
|
|
9
9
|
|
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
11
|
|
|
12
|
-
//
|
|
13
|
-
var regTWCard =
|
|
12
|
+
// 台湾居民来往大陆通行证正则
|
|
13
|
+
var regTWCard = /^\d{8}$/i; // 一次性短期台胞证
|
|
14
|
+
|
|
15
|
+
var singleRegTWCard = /^[\da-z]{10,12}$/i;
|
|
14
16
|
/**
|
|
15
17
|
* 检测值是否为台湾居民来往大陆通行证,俗称台胞证。
|
|
16
18
|
*
|
|
@@ -19,18 +21,30 @@ var regTWCard = /^(\d{8}|[\da-z]{10})$/i;
|
|
|
19
21
|
* @since 4.0.0
|
|
20
22
|
* @see 参考 {@link https://zh.wikipedia.org/wiki/台湾居民来往大陆通行证|台湾居民来往大陆通行证}
|
|
21
23
|
* @param {*} value 要检测的值
|
|
24
|
+
* @param {Object} [options] 配置项
|
|
25
|
+
* @param {boolean} [options.loose=false] 宽松模式。如果为true,表示支持一次性短期通行证
|
|
22
26
|
* @returns {boolean} 是否为台湾居民来往大陆通行证
|
|
23
27
|
* @example
|
|
24
28
|
* isTWCard('12345678') // true
|
|
25
29
|
* isTWCard('07257456') // true
|
|
26
30
|
*
|
|
27
31
|
* // 一次性短期
|
|
28
|
-
* isTWCard('F290299977') //
|
|
32
|
+
* isTWCard('F290299977') // false
|
|
33
|
+
* isTWCard('F290299977', { loose: true }) // true
|
|
29
34
|
*/
|
|
30
35
|
|
|
31
36
|
function isTWCard(value) {
|
|
32
|
-
var
|
|
33
|
-
|
|
37
|
+
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
38
|
+
_ref$loose = _ref.loose,
|
|
39
|
+
loose = _ref$loose === void 0 ? false : _ref$loose;
|
|
40
|
+
|
|
41
|
+
var valueStr = (0, _normalizeString["default"])(value);
|
|
42
|
+
|
|
43
|
+
if (regTWCard.test(valueStr)) {
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return loose ? singleRegTWCard.test(valueStr) : false;
|
|
34
48
|
}
|
|
35
49
|
|
|
36
50
|
var _default = isTWCard;
|
package/lib/isTelephone.js
CHANGED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _normalizeString = _interopRequireDefault(require("./normalizeString"));
|
|
9
9
|
|
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
11
|
|
|
@@ -36,7 +36,7 @@ var reg = /^(0\d{2,3}\-)?([2-9]\d{6,7})(\-\d{1,6})?$/;
|
|
|
36
36
|
*/
|
|
37
37
|
|
|
38
38
|
function isTelephone(value) {
|
|
39
|
-
var valueStr = (0,
|
|
39
|
+
var valueStr = (0, _normalizeString["default"])(value);
|
|
40
40
|
return reg.test(valueStr);
|
|
41
41
|
}
|
|
42
42
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
33
|
+
var valueStr = (0, _normalizeString["default"])(value);
|
|
34
34
|
return reg.test(valueStr);
|
|
35
35
|
}
|
|
36
36
|
|
package/lib/randomString.js
CHANGED
|
@@ -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
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";
|
package/types/isPassport.d.ts
CHANGED
package/types/isSwiftCode.d.ts
CHANGED
|
@@ -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;
|
package/types/isTWCard.d.ts
CHANGED
|
@@ -7,12 +7,17 @@ export default isTWCard;
|
|
|
7
7
|
* @since 4.0.0
|
|
8
8
|
* @see 参考 {@link https://zh.wikipedia.org/wiki/台湾居民来往大陆通行证|台湾居民来往大陆通行证}
|
|
9
9
|
* @param {*} value 要检测的值
|
|
10
|
+
* @param {Object} [options] 配置项
|
|
11
|
+
* @param {boolean} [options.loose=false] 宽松模式。如果为true,表示支持一次性短期通行证
|
|
10
12
|
* @returns {boolean} 是否为台湾居民来往大陆通行证
|
|
11
13
|
* @example
|
|
12
14
|
* isTWCard('12345678') // true
|
|
13
15
|
* isTWCard('07257456') // true
|
|
14
16
|
*
|
|
15
17
|
* // 一次性短期
|
|
16
|
-
* isTWCard('F290299977') //
|
|
18
|
+
* isTWCard('F290299977') // false
|
|
19
|
+
* isTWCard('F290299977', { loose: true }) // true
|
|
17
20
|
*/
|
|
18
|
-
declare function isTWCard(value: any
|
|
21
|
+
declare function isTWCard(value: any, { loose }?: {
|
|
22
|
+
loose?: boolean | undefined;
|
|
23
|
+
} | undefined): boolean;
|
package/types/randomString.d.ts
CHANGED
|
@@ -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;
|