util-helpers 4.8.2 → 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.
- package/README.md +3 -1
- package/dist/util-helpers.js +192 -131
- 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 +2 -0
- package/esm/isBankCard.js +7 -7
- 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 +2 -2
- package/esm/isPostcode.js +2 -2
- package/esm/isQQ.js +2 -2
- package/esm/isSocialCreditCode.js +2 -2
- package/esm/isSwiftCode.js +29 -0
- package/esm/isTWCard.js +2 -2
- package/esm/isTelephone.js +2 -2
- package/esm/isUrl.js +3 -3
- 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 +16 -0
- package/lib/isBankCard.js +7 -7
- 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 +2 -2
- package/lib/isPostcode.js +2 -2
- package/lib/isQQ.js +2 -2
- package/lib/isSocialCreditCode.js +2 -2
- package/lib/isSwiftCode.js +40 -0
- package/lib/isTWCard.js +2 -2
- package/lib/isTelephone.js +2 -2
- package/lib/isUrl.js +3 -3
- 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 +2 -1
- package/types/index.d.ts +2 -0
- package/types/isSwiftCode.d.ts +22 -0
- package/types/randomString.d.ts +1 -1
- package/types/strlen.d.ts +20 -0
|
@@ -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
|
|
|
@@ -77,7 +77,7 @@ function isSocialCreditCode(value) {
|
|
|
77
77
|
_ref$loose = _ref.loose,
|
|
78
78
|
loose = _ref$loose === void 0 ? false : _ref$loose;
|
|
79
79
|
|
|
80
|
-
var valueStr = (0,
|
|
80
|
+
var valueStr = (0, _normalizeString["default"])(value);
|
|
81
81
|
var passBaseRule = baseReg.test(valueStr); // 宽松模式 或 基础规则不通过直接返回
|
|
82
82
|
|
|
83
83
|
if (loose || !passBaseRule) {
|
|
@@ -0,0 +1,40 @@
|
|
|
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
|
+
var reg = /^[A-Z]{6}[A-Z\d]{2}(?:[A-Z\d]{3})?$/;
|
|
13
|
+
/**
|
|
14
|
+
* 检测值是否为 Swift Code。8位或11位,前6位为大写字母,7-8位为大写字母或数字,9-11位为可选的大写字母或数字。
|
|
15
|
+
*
|
|
16
|
+
* @static
|
|
17
|
+
* @alias module:Validator.isSwiftCode
|
|
18
|
+
* @see 参考 {@link https://zh.wikipedia.org/wiki/ISO_9362|ISO 9362}
|
|
19
|
+
* @since 4.9.0
|
|
20
|
+
* @param {*} value 要检测的值
|
|
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
|
+
*
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
function isSwiftCode(value) {
|
|
35
|
+
var valueStr = (0, _normalizeString["default"])(value);
|
|
36
|
+
return reg.test(valueStr);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
var _default = isSwiftCode;
|
|
40
|
+
exports["default"] = _default;
|
package/lib/isTWCard.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
|
|
|
@@ -29,7 +29,7 @@ var regTWCard = /^(\d{8}|[\da-z]{10})$/i;
|
|
|
29
29
|
*/
|
|
30
30
|
|
|
31
31
|
function isTWCard(value) {
|
|
32
|
-
var valueStr = (0,
|
|
32
|
+
var valueStr = (0, _normalizeString["default"])(value);
|
|
33
33
|
return regTWCard.test(valueStr);
|
|
34
34
|
}
|
|
35
35
|
|
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,12 +5,12 @@ 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
12
|
// url正则
|
|
13
|
-
var reg = /(((^https?:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+(?::\d+)?|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[
|
|
13
|
+
var reg = /(((^https?:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+(?::\d+)?|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\*\+=&;%@.\w_]*)#?(?:[\w]*))?)$/;
|
|
14
14
|
/**
|
|
15
15
|
* 检测值是否为url
|
|
16
16
|
*
|
|
@@ -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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "util-helpers",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.10.0",
|
|
4
4
|
"description": "一个基于业务场景的工具方法库",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
"build:dist": "rm -rf dist && rollup -c",
|
|
19
19
|
"build:doc": "npm run doc",
|
|
20
20
|
"doc": "rm -rf docs && jsdoc -c conf.json",
|
|
21
|
+
"open:doc": "open ./docs/index.html",
|
|
21
22
|
"prettier": "prettier --write 'src/**/*.js' && prettier --write 'test/**/*.js'",
|
|
22
23
|
"lint-staged": "lint-staged",
|
|
23
24
|
"lint-staged:js": "eslint --ext .js",
|
package/types/index.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ export { default as validatePassword } from "./validatePassword";
|
|
|
19
19
|
export { default as isPromiseLike } from "./isPromiseLike";
|
|
20
20
|
export { default as isHMCard } from "./isHMCard";
|
|
21
21
|
export { default as isTWCard } from "./isTWCard";
|
|
22
|
+
export { default as isSwiftCode } from "./isSwiftCode";
|
|
22
23
|
export { default as formatMoney } from "./formatMoney";
|
|
23
24
|
export { default as formatBankCard } from "./formatBankCard";
|
|
24
25
|
export { default as replaceChar } from "./replaceChar";
|
|
@@ -40,4 +41,5 @@ export { default as round } from "./round";
|
|
|
40
41
|
export { default as waitTime } from "./waitTime";
|
|
41
42
|
export { default as calculateCursorPosition } from "./calculateCursorPosition";
|
|
42
43
|
export { default as randomString } from "./randomString";
|
|
44
|
+
export { default as strlen } from "./strlen";
|
|
43
45
|
export { setDisableWarning } from "./utils/config";
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export default isSwiftCode;
|
|
2
|
+
/**
|
|
3
|
+
* 检测值是否为 Swift Code。8位或11位,前6位为大写字母,7-8位为大写字母或数字,9-11位为可选的大写字母或数字。
|
|
4
|
+
*
|
|
5
|
+
* @static
|
|
6
|
+
* @alias module:Validator.isSwiftCode
|
|
7
|
+
* @see 参考 {@link https://zh.wikipedia.org/wiki/ISO_9362|ISO 9362}
|
|
8
|
+
* @since 4.9.0
|
|
9
|
+
* @param {*} value 要检测的值
|
|
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
|
+
*
|
|
21
|
+
*/
|
|
22
|
+
declare function isSwiftCode(value: any): 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;
|