util-helpers 4.13.0 → 4.14.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 +16 -6
- package/dist/util-helpers.js +935 -536
- 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/blobToDataURL.js +2 -4
- package/esm/bytesToSize.js +13 -5
- package/esm/calculateCursorPosition.js +7 -12
- package/esm/dataURLToBlob.js +2 -5
- package/esm/divide.js +9 -13
- package/esm/findTreeNode.js +66 -0
- package/esm/findTreeSelect.js +80 -0
- package/esm/formatBankCard.js +11 -11
- package/esm/formatMobile.js +11 -14
- package/esm/formatMoney.js +24 -35
- package/esm/index.js +9 -4
- package/esm/isBankCard.js +9 -13
- package/esm/isBusinessLicense.js +19 -20
- package/esm/isChinese.js +6 -6
- package/esm/isEmail.js +3 -3
- package/esm/isHMCard.js +3 -3
- package/esm/isIPv4.js +3 -3
- package/esm/isIPv6.js +3 -3
- package/esm/isIdCard.js +9 -17
- package/esm/isMobile.js +3 -3
- package/esm/isPassport.js +3 -3
- package/esm/isPassword.js +6 -7
- package/esm/isPostcode.js +3 -3
- package/esm/isPromiseLike.js +0 -2
- package/esm/isQQ.js +3 -3
- package/esm/isSocialCreditCode.js +29 -28
- package/esm/isSwiftCode.js +1 -2
- package/esm/isTWCard.js +6 -7
- package/esm/isTelephone.js +3 -3
- package/esm/isUrl.js +7 -3
- package/esm/isVehicle.js +3 -3
- package/esm/isWX.js +3 -3
- package/esm/listToTree.js +122 -0
- package/esm/minus.js +7 -11
- package/esm/normalizeString.js +1 -3
- package/esm/numberToChinese.js +43 -52
- package/esm/padZero.js +1 -5
- package/esm/parseIdCard.js +27 -23
- package/esm/plus.js +7 -11
- package/esm/randomString.js +2 -8
- package/esm/replaceChar.js +11 -16
- package/esm/round.js +4 -5
- package/esm/safeDate.js +5 -7
- package/esm/setDataURLPrefix.js +0 -1
- package/esm/strlen.js +1 -5
- package/esm/times.js +7 -11
- package/esm/transformFieldNames.doc.js +34 -0
- package/esm/transformFieldNames.js +98 -0
- package/esm/transformFieldNames.type.js +19 -0
- package/esm/treeToList.js +88 -0
- package/esm/utils/config.js +3 -3
- package/esm/utils/constants.js +2 -2
- package/esm/utils/convertToString.js +1 -2
- package/esm/utils/devWarn.js +1 -3
- package/esm/utils/math.util.js +20 -29
- package/esm/utils/type/index.js +1 -1
- package/esm/utils/type/isArguments.js +1 -2
- package/esm/utils/type/isArray.js +1 -2
- package/esm/utils/type/isBoolean.js +1 -2
- package/esm/utils/type/isDate.js +1 -2
- package/esm/utils/type/isError.js +1 -2
- package/esm/utils/type/isFunction.js +1 -2
- package/esm/utils/type/isMap.js +1 -2
- package/esm/utils/type/isNaN.js +1 -2
- package/esm/utils/type/isNil.js +1 -2
- package/esm/utils/type/isNull.js +0 -1
- package/esm/utils/type/isNumber.js +1 -2
- package/esm/utils/type/isObject.js +0 -3
- package/esm/utils/type/isRegExp.js +1 -2
- package/esm/utils/type/isSet.js +1 -2
- package/esm/utils/type/isString.js +1 -2
- package/esm/utils/type/isSymbol.js +1 -2
- package/esm/utils/type/isType.js +1 -2
- package/esm/utils/type/isUndefined.js +0 -1
- package/esm/utils/type/isWeakMap.js +1 -2
- package/esm/utils/type/isWeakSet.js +1 -2
- package/esm/validatePassword.js +27 -50
- package/esm/waitTime.js +0 -1
- package/lib/blobToDataURL.js +2 -5
- package/lib/bytesToSize.js +13 -6
- package/lib/calculateCursorPosition.js +4 -13
- package/lib/dataURLToBlob.js +2 -6
- package/lib/divide.js +8 -22
- package/lib/findTreeNode.js +76 -0
- package/lib/findTreeSelect.js +86 -0
- package/lib/formatBankCard.js +10 -13
- package/lib/formatMobile.js +10 -16
- package/lib/formatMoney.js +25 -47
- package/lib/index.js +115 -126
- package/lib/isBankCard.js +7 -15
- package/lib/isBusinessLicense.js +17 -22
- package/lib/isChinese.js +6 -9
- package/lib/isEmail.js +1 -5
- package/lib/isHMCard.js +1 -5
- package/lib/isIPv4.js +1 -5
- package/lib/isIPv6.js +1 -5
- package/lib/isIdCard.js +7 -19
- package/lib/isMobile.js +1 -5
- package/lib/isPassport.js +1 -5
- package/lib/isPassword.js +5 -9
- package/lib/isPostcode.js +1 -5
- package/lib/isPromiseLike.js +1 -4
- package/lib/isQQ.js +1 -5
- package/lib/isSocialCreditCode.js +27 -30
- package/lib/isSwiftCode.js +1 -5
- package/lib/isTWCard.js +4 -9
- package/lib/isTelephone.js +1 -5
- package/lib/isUrl.js +5 -5
- package/lib/isVehicle.js +1 -5
- package/lib/isWX.js +1 -5
- package/lib/listToTree.js +131 -0
- package/lib/minus.js +6 -20
- package/lib/normalizeString.js +0 -6
- package/lib/numberToChinese.js +41 -55
- package/lib/padZero.js +0 -7
- package/lib/parseIdCard.js +30 -29
- package/lib/plus.js +6 -20
- package/lib/randomString.js +2 -8
- package/lib/replaceChar.js +10 -18
- package/lib/round.js +3 -9
- package/lib/safeDate.js +4 -13
- package/lib/setDataURLPrefix.js +0 -2
- package/lib/strlen.js +0 -7
- package/lib/times.js +6 -18
- package/lib/transformFieldNames.doc.js +41 -0
- package/lib/transformFieldNames.js +104 -0
- package/lib/transformFieldNames.type.js +5 -0
- package/lib/treeToList.js +96 -0
- package/lib/utils/config.js +8 -7
- package/lib/utils/constants.js +2 -2
- package/lib/utils/convertToString.js +0 -4
- package/lib/utils/devWarn.js +0 -4
- package/lib/utils/math.util.js +23 -45
- package/lib/utils/type/index.js +20 -39
- package/lib/utils/type/isArguments.js +0 -4
- package/lib/utils/type/isArray.js +0 -4
- package/lib/utils/type/isBoolean.js +0 -4
- package/lib/utils/type/isDate.js +0 -4
- package/lib/utils/type/isError.js +0 -4
- package/lib/utils/type/isFunction.js +0 -4
- package/lib/utils/type/isMap.js +0 -4
- package/lib/utils/type/isNaN.js +0 -4
- package/lib/utils/type/isNil.js +0 -5
- package/lib/utils/type/isNull.js +0 -2
- package/lib/utils/type/isNumber.js +0 -4
- package/lib/utils/type/isObject.js +1 -5
- package/lib/utils/type/isRegExp.js +0 -4
- package/lib/utils/type/isSet.js +0 -4
- package/lib/utils/type/isString.js +0 -4
- package/lib/utils/type/isSymbol.js +0 -4
- package/lib/utils/type/isType.js +1 -2
- package/lib/utils/type/isUndefined.js +0 -2
- package/lib/utils/type/isWeakMap.js +0 -4
- package/lib/utils/type/isWeakSet.js +0 -4
- package/lib/validatePassword.js +27 -53
- package/lib/waitTime.js +0 -2
- package/package.json +9 -7
- package/types/bytesToSize.d.ts +9 -1
- package/types/findTreeNode.d.ts +26 -0
- package/types/findTreeSelect.d.ts +26 -0
- package/types/formatBankCard.d.ts +3 -3
- package/types/formatMobile.d.ts +4 -4
- package/types/index.d.ts +5 -0
- package/types/isIdCard.d.ts +2 -0
- package/types/isUrl.d.ts +2 -0
- package/types/listToTree.d.ts +41 -0
- package/types/transformFieldNames.d.ts +34 -0
- package/types/transformFieldNames.type.d.ts +2 -0
- package/types/treeToList.d.ts +20 -0
- package/types/utils/config.d.ts +1 -2
package/lib/isEmail.js
CHANGED
|
@@ -4,13 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _normalizeString = _interopRequireDefault(require("./normalizeString"));
|
|
9
|
-
|
|
10
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
-
|
|
12
9
|
// 邮箱
|
|
13
10
|
var reg = /^[\da-z]+([\-\.\_]?[\da-z]+)*@[\da-z]+([\-\.]?[\da-z]+)*(\.[a-z]{2,})+$/i;
|
|
11
|
+
|
|
14
12
|
/**
|
|
15
13
|
* 检测值是否为Email
|
|
16
14
|
*
|
|
@@ -25,11 +23,9 @@ var reg = /^[\da-z]+([\-\.\_]?[\da-z]+)*@[\da-z]+([\-\.]?[\da-z]+)*(\.[a-z]{2,})
|
|
|
25
23
|
* isEmail('123@'); // false
|
|
26
24
|
*
|
|
27
25
|
*/
|
|
28
|
-
|
|
29
26
|
function isEmail(value) {
|
|
30
27
|
var valueStr = (0, _normalizeString["default"])(value);
|
|
31
28
|
return reg.test(valueStr);
|
|
32
29
|
}
|
|
33
|
-
|
|
34
30
|
var _default = isEmail;
|
|
35
31
|
exports["default"] = _default;
|
package/lib/isHMCard.js
CHANGED
|
@@ -4,13 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _normalizeString = _interopRequireDefault(require("./normalizeString"));
|
|
9
|
-
|
|
10
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
-
|
|
12
9
|
// 港澳居民来往内地通行证正则
|
|
13
10
|
var regHMCard = /^[hm]{1}([0-9]{10}|[0-9]{8})$/i;
|
|
11
|
+
|
|
14
12
|
/**
|
|
15
13
|
* 检测值是否为港澳居民来往内地通行证,俗称回乡证或回乡卡。
|
|
16
14
|
*
|
|
@@ -33,11 +31,9 @@ var regHMCard = /^[hm]{1}([0-9]{10}|[0-9]{8})$/i;
|
|
|
33
31
|
* isHMCard('m32031177'); // true
|
|
34
32
|
* isHMCard('M32031177'); // true
|
|
35
33
|
*/
|
|
36
|
-
|
|
37
34
|
function isHMCard(value) {
|
|
38
35
|
var valueStr = (0, _normalizeString["default"])(value);
|
|
39
36
|
return regHMCard.test(valueStr);
|
|
40
37
|
}
|
|
41
|
-
|
|
42
38
|
var _default = isHMCard;
|
|
43
39
|
exports["default"] = _default;
|
package/lib/isIPv4.js
CHANGED
|
@@ -4,13 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _normalizeString = _interopRequireDefault(require("./normalizeString"));
|
|
9
|
-
|
|
10
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
-
|
|
12
9
|
// ipv4正则
|
|
13
10
|
var reg = /^((\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.){3}(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
|
|
11
|
+
|
|
14
12
|
/**
|
|
15
13
|
* 检测值是否为ipv4
|
|
16
14
|
*
|
|
@@ -27,11 +25,9 @@ var reg = /^((\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.){3}(\d{1,2}|1\d\d|2[0-4]\d|25[0-
|
|
|
27
25
|
* isIPv4('0.0'); // false
|
|
28
26
|
*
|
|
29
27
|
*/
|
|
30
|
-
|
|
31
28
|
function isIPv4(value) {
|
|
32
29
|
var valueStr = (0, _normalizeString["default"])(value);
|
|
33
30
|
return reg.test(valueStr);
|
|
34
31
|
}
|
|
35
|
-
|
|
36
32
|
var _default = isIPv4;
|
|
37
33
|
exports["default"] = _default;
|
package/lib/isIPv6.js
CHANGED
|
@@ -4,13 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _normalizeString = _interopRequireDefault(require("./normalizeString"));
|
|
9
|
-
|
|
10
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
-
|
|
12
9
|
// ipv6正则
|
|
13
10
|
var reg = /^((([0-9A-F]{1,4}:){7}([0-9A-F]{1,4}|:))|(([0-9A-F]{1,4}:){6}(:[0-9A-F]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|\d{1,2})(\.(25[0-5]|2[0-4]\d|1\d\d|\d{1,2})){3})|:))|(([0-9A-F]{1,4}:){5}(((:[0-9A-F]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|\d{1,2})(\.(25[0-5]|2[0-4]\d|1\d\d|\d{1,2})){3})|:))|(([0-9A-F]{1,4}:){4}(((:[0-9A-F]{1,4}){1,3})|((:[0-9A-F]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|\d{1,2})(\.(25[0-5]|2[0-4]\d|1\d\d|\d{1,2})){3}))|:))|(([0-9A-F]{1,4}:){3}(((:[0-9A-F]{1,4}){1,4})|((:[0-9A-F]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|\d{1,2})(\.(25[0-5]|2[0-4]\d|1\d\d|\d{1,2})){3}))|:))|(([0-9A-F]{1,4}:){2}(((:[0-9A-F]{1,4}){1,5})|((:[0-9A-F]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|\d{1,2})(\.(25[0-5]|2[0-4]\d|1\d\d|\d{1,2})){3}))|:))|(([0-9A-F]{1,4}:){1}(((:[0-9A-F]{1,4}){1,6})|((:[0-9A-F]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|\d{1,2})(\.(25[0-5]|2[0-4]\d|1\d\d|\d{1,2})){3}))|:))|(:(((:[0-9A-F]{1,4}){1,7})|((:[0-9A-F]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|\d{1,2})(\.(25[0-5]|2[0-4]\d|1\d\d|\d{1,2})){3}))|:)))(%.+)?$/i;
|
|
11
|
+
|
|
14
12
|
/**
|
|
15
13
|
* 检测值是否为ipv6
|
|
16
14
|
*
|
|
@@ -41,11 +39,9 @@ var reg = /^((([0-9A-F]{1,4}:){7}([0-9A-F]{1,4}|:))|(([0-9A-F]{1,4}:){6}(:[0-9A-
|
|
|
41
39
|
* isIPv6('192.168.1.1'); // false
|
|
42
40
|
*
|
|
43
41
|
*/
|
|
44
|
-
|
|
45
42
|
function isIPv6(value) {
|
|
46
43
|
var valueStr = (0, _normalizeString["default"])(value);
|
|
47
44
|
return reg.test(valueStr);
|
|
48
45
|
}
|
|
49
|
-
|
|
50
46
|
var _default = isIPv6;
|
|
51
47
|
exports["default"] = _default;
|
package/lib/isIdCard.js
CHANGED
|
@@ -4,44 +4,39 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _normalizeString = _interopRequireDefault(require("./normalizeString"));
|
|
9
|
-
|
|
10
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
-
|
|
12
9
|
// 身份证号正则
|
|
13
10
|
var regIdCard = /^[1-9]\d{5}(19|20)?\d{2}((0[1-9])|(1[012]))(([0-2][1-9])|10|20|30|31)\d{3}(\d|X)?$/i;
|
|
11
|
+
|
|
14
12
|
/**
|
|
15
13
|
* 校验码计算
|
|
16
14
|
*
|
|
17
15
|
* @private
|
|
18
|
-
* @see 参考 {@link https://zh.wikipedia.org/wiki/中华人民共和国公民身份号码|中华人民共和国公民身份号码}
|
|
19
|
-
* @see 参考 {@link https://baike.baidu.com/item/居民身份证号码|居民身份证号码}
|
|
20
16
|
* @param {string} id 身份证号码
|
|
21
17
|
* @returns {boolean} 校验码是否正确
|
|
22
18
|
*/
|
|
23
|
-
|
|
24
19
|
function check(id) {
|
|
25
20
|
var index, sum, num;
|
|
26
|
-
|
|
27
21
|
for (sum = index = 0; index < 17; index++) {
|
|
28
22
|
sum += Math.pow(2, 17 - index) % 11 * Number(id[index]);
|
|
29
23
|
}
|
|
30
|
-
|
|
31
24
|
num = (12 - sum % 11) % 11;
|
|
32
|
-
|
|
33
25
|
if (num < 10) {
|
|
34
26
|
return num === Number(id[17]);
|
|
35
27
|
} else {
|
|
36
28
|
return id[17].toUpperCase() === 'X';
|
|
37
29
|
}
|
|
38
30
|
}
|
|
31
|
+
|
|
39
32
|
/**
|
|
40
33
|
* 检测值是否为18位身份证号码。<br/>宽松模式下,支持15位身份证号码
|
|
41
34
|
*
|
|
42
35
|
* @static
|
|
43
36
|
* @alias module:Validator.isIdCard
|
|
44
37
|
* @since 1.1.0
|
|
38
|
+
* @see 参考 {@link https://zh.wikipedia.org/wiki/中华人民共和国公民身份号码|中华人民共和国公民身份号码}
|
|
39
|
+
* @see 参考 {@link https://baike.baidu.com/item/居民身份证号码|居民身份证号码}
|
|
45
40
|
* @param {*} value 要检测的值
|
|
46
41
|
* @param {Object} [options] 配置项
|
|
47
42
|
* @param {boolean} [options.loose=false] 宽松模式,支持15位身份证号码
|
|
@@ -62,30 +57,23 @@ function check(id) {
|
|
|
62
57
|
* isIdCard('320311770706001', { loose: true }); // true
|
|
63
58
|
*
|
|
64
59
|
*/
|
|
65
|
-
|
|
66
|
-
|
|
67
60
|
function isIdCard(value) {
|
|
68
61
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
69
62
|
var _options$loose = options.loose,
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
63
|
+
loose = _options$loose === void 0 ? false : _options$loose,
|
|
64
|
+
_options$checkCode = options.checkCode,
|
|
65
|
+
checkCode = _options$checkCode === void 0 ? true : _options$checkCode;
|
|
73
66
|
var valueStr = (0, _normalizeString["default"])(value);
|
|
74
|
-
|
|
75
67
|
if (valueStr.length === 15 && loose) {
|
|
76
68
|
return regIdCard.test(valueStr);
|
|
77
69
|
}
|
|
78
|
-
|
|
79
70
|
if (valueStr.length === 18 && regIdCard.test(valueStr)) {
|
|
80
71
|
if (checkCode) {
|
|
81
72
|
return check(valueStr);
|
|
82
73
|
}
|
|
83
|
-
|
|
84
74
|
return true;
|
|
85
75
|
}
|
|
86
|
-
|
|
87
76
|
return false;
|
|
88
77
|
}
|
|
89
|
-
|
|
90
78
|
var _default = isIdCard;
|
|
91
79
|
exports["default"] = _default;
|
package/lib/isMobile.js
CHANGED
|
@@ -4,13 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _normalizeString = _interopRequireDefault(require("./normalizeString"));
|
|
9
|
-
|
|
10
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
-
|
|
12
9
|
// 手机号码 11位数字,以1开头,第二位是3456789其中一个,后面再加9个数字
|
|
13
10
|
var reg = /^1[3456789]\d{9}$/;
|
|
11
|
+
|
|
14
12
|
/**
|
|
15
13
|
* 检测值是否为手机号码
|
|
16
14
|
*
|
|
@@ -25,11 +23,9 @@ var reg = /^1[3456789]\d{9}$/;
|
|
|
25
23
|
* isMobile('13000'); // false
|
|
26
24
|
*
|
|
27
25
|
*/
|
|
28
|
-
|
|
29
26
|
function isMobile(value) {
|
|
30
27
|
var valueStr = (0, _normalizeString["default"])(value);
|
|
31
28
|
return reg.test(valueStr);
|
|
32
29
|
}
|
|
33
|
-
|
|
34
30
|
var _default = isMobile;
|
|
35
31
|
exports["default"] = _default;
|
package/lib/isPassport.js
CHANGED
|
@@ -4,13 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _normalizeString = _interopRequireDefault(require("./normalizeString"));
|
|
9
|
-
|
|
10
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
-
|
|
12
9
|
// 护照号 9位,包括首字母和数字;支持 普通护照(E*)、外交护照(DE)、公务护照(SE)、公务普通护照(PE)、香港特区护照(K/KJ/H*)、澳门特区护照(MA/MB/M*)
|
|
13
10
|
var reg = /^((e[\da-z])|(de)|(se)|(pe)|([khm][\da-z]))[\da-z]{7}$/i;
|
|
11
|
+
|
|
14
12
|
/**
|
|
15
13
|
* 检测值是否为护照号
|
|
16
14
|
* 支持普通护照(E*)、外交护照(DE)、公务护照(SE)、公务普通护照(PE)、香港特区护照(K/KJ/H*)、澳门特区护照(MA/MB/M*),注意不区分大小写
|
|
@@ -27,11 +25,9 @@ var reg = /^((e[\da-z])|(de)|(se)|(pe)|([khm][\da-z]))[\da-z]{7}$/i;
|
|
|
27
25
|
* isPassport('abc'); // false
|
|
28
26
|
*
|
|
29
27
|
*/
|
|
30
|
-
|
|
31
28
|
function isPassport(value) {
|
|
32
29
|
var valueStr = (0, _normalizeString["default"])(value);
|
|
33
30
|
return reg.test(valueStr);
|
|
34
31
|
}
|
|
35
|
-
|
|
36
32
|
var _default = isPassport;
|
|
37
33
|
exports["default"] = _default;
|
package/lib/isPassword.js
CHANGED
|
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _validatePassword = _interopRequireDefault(require("./validatePassword"));
|
|
9
|
-
|
|
10
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
-
|
|
12
9
|
/**
|
|
13
10
|
* 检测值是否符合密码强度
|
|
14
11
|
* <p><strong>注意:该校验只校验是否存在不同字符(大小写字母、数字、特殊符号),不判断长度。</strong></p>
|
|
@@ -45,17 +42,16 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
|
|
|
45
42
|
function isPassword(value) {
|
|
46
43
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
47
44
|
var _options$level = options.level,
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
45
|
+
level = _options$level === void 0 ? 2 : _options$level,
|
|
46
|
+
_options$ignoreCase = options.ignoreCase,
|
|
47
|
+
ignoreCase = _options$ignoreCase === void 0 ? false : _options$ignoreCase,
|
|
48
|
+
_options$special = options.special,
|
|
49
|
+
special = _options$special === void 0 ? '\\x21-\\x2F\\x3A-\\x40\\x5B-\\x60\\x7B-\\x7E' : _options$special;
|
|
53
50
|
return (0, _validatePassword["default"])(value, {
|
|
54
51
|
level: level,
|
|
55
52
|
ignoreCase: ignoreCase,
|
|
56
53
|
special: special
|
|
57
54
|
}).validated;
|
|
58
55
|
}
|
|
59
|
-
|
|
60
56
|
var _default = isPassword;
|
|
61
57
|
exports["default"] = _default;
|
package/lib/isPostcode.js
CHANGED
|
@@ -4,13 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _normalizeString = _interopRequireDefault(require("./normalizeString"));
|
|
9
|
-
|
|
10
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
-
|
|
12
9
|
// 邮政编码
|
|
13
10
|
var reg = /^\d{6}$/;
|
|
11
|
+
|
|
14
12
|
/**
|
|
15
13
|
* 检测值是否为邮政编码,6位数字
|
|
16
14
|
*
|
|
@@ -25,11 +23,9 @@ var reg = /^\d{6}$/;
|
|
|
25
23
|
* isPostcode('123'); // false
|
|
26
24
|
*
|
|
27
25
|
*/
|
|
28
|
-
|
|
29
26
|
function isPostcode(value) {
|
|
30
27
|
var valueStr = (0, _normalizeString["default"])(value);
|
|
31
28
|
return reg.test(valueStr);
|
|
32
29
|
}
|
|
33
|
-
|
|
34
30
|
var _default = isPostcode;
|
|
35
31
|
exports["default"] = _default;
|
package/lib/isPromiseLike.js
CHANGED
|
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
|
-
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
9
|
-
|
|
7
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
10
8
|
/**
|
|
11
9
|
* 检测值是否类似Promise对象
|
|
12
10
|
*
|
|
@@ -25,6 +23,5 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
|
|
|
25
23
|
function isPromiseLike(obj) {
|
|
26
24
|
return obj !== null && (_typeof(obj) === 'object' || typeof obj === 'function') && typeof obj.then === 'function';
|
|
27
25
|
}
|
|
28
|
-
|
|
29
26
|
var _default = isPromiseLike;
|
|
30
27
|
exports["default"] = _default;
|
package/lib/isQQ.js
CHANGED
|
@@ -4,13 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _normalizeString = _interopRequireDefault(require("./normalizeString"));
|
|
9
|
-
|
|
10
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
-
|
|
12
9
|
// QQ号正则
|
|
13
10
|
var reg = /^[1-9]\d{4,10}$/;
|
|
11
|
+
|
|
14
12
|
/**
|
|
15
13
|
* 检测值是否为QQ号,非0开头,5至11位数字
|
|
16
14
|
*
|
|
@@ -25,11 +23,9 @@ var reg = /^[1-9]\d{4,10}$/;
|
|
|
25
23
|
* isQQ('123'); // false
|
|
26
24
|
*
|
|
27
25
|
*/
|
|
28
|
-
|
|
29
26
|
function isQQ(value) {
|
|
30
27
|
var valueStr = (0, _normalizeString["default"])(value);
|
|
31
28
|
return reg.test(valueStr);
|
|
32
29
|
}
|
|
33
|
-
|
|
34
30
|
var _default = isQQ;
|
|
35
31
|
exports["default"] = _default;
|
|
@@ -4,15 +4,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _normalizeString = _interopRequireDefault(require("./normalizeString"));
|
|
9
|
-
|
|
10
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
-
|
|
12
9
|
// 基础规则,由18位数字和大写字母组成,不使用I、O、Z、S、V。
|
|
13
|
-
var baseReg = /^[\dA-HJ-NPQRTUWXY]{2}\d{6}[\dA-HJ-NPQRTUWXY]{10}$/;
|
|
10
|
+
var baseReg = /^[\dA-HJ-NPQRTUWXY]{2}\d{6}[\dA-HJ-NPQRTUWXY]{10}$/;
|
|
14
11
|
|
|
12
|
+
// 基础字符组成
|
|
15
13
|
var baseCodeArr = '0123456789ABCDEFGHJKLMNPQRTUWXY'.split('');
|
|
14
|
+
|
|
16
15
|
/**
|
|
17
16
|
* 计算校验码
|
|
18
17
|
*
|
|
@@ -21,31 +20,31 @@ var baseCodeArr = '0123456789ABCDEFGHJKLMNPQRTUWXY'.split('');
|
|
|
21
20
|
* @param {string} preCode 统一代码前17位
|
|
22
21
|
* @returns {string} 校验码
|
|
23
22
|
*/
|
|
24
|
-
|
|
25
23
|
function sumCheckCode(preCode) {
|
|
26
|
-
var total = 0;
|
|
24
|
+
var total = 0;
|
|
27
25
|
|
|
26
|
+
// 计算字符位置对应序号和加权因子的乘积,总和
|
|
28
27
|
var _loop = function _loop(i) {
|
|
29
28
|
// 字符位置对应的基础编码序号
|
|
30
29
|
var index = baseCodeArr.findIndex(function (item) {
|
|
31
30
|
return item === preCode[i];
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
var wf = Math.pow(3, i) % 31;
|
|
35
|
-
|
|
31
|
+
});
|
|
32
|
+
// 加权因子
|
|
33
|
+
var wf = Math.pow(3, i) % 31;
|
|
34
|
+
// 计算序号和加权因子的乘积,并计算级数之和
|
|
36
35
|
total += index * wf;
|
|
37
36
|
};
|
|
38
|
-
|
|
39
37
|
for (var i = 0; i < 17; i++) {
|
|
40
38
|
_loop(i);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
var remainder = total % 31; // 校验码字符值序号
|
|
39
|
+
}
|
|
45
40
|
|
|
41
|
+
// 计算整数求余函数MOD
|
|
42
|
+
var remainder = total % 31;
|
|
43
|
+
// 校验码字符值序号
|
|
46
44
|
var checkCodeIndex = remainder !== 0 ? 31 - remainder : 0;
|
|
47
45
|
return baseCodeArr[checkCodeIndex];
|
|
48
46
|
}
|
|
47
|
+
|
|
49
48
|
/**
|
|
50
49
|
* 检测值是否为统一社会信用代码,也叫三证合一组织代码。由18位数字和大写字母组成,不使用I、O、Z、S、V。
|
|
51
50
|
*
|
|
@@ -68,32 +67,30 @@ function sumCheckCode(preCode) {
|
|
|
68
67
|
* isSocialCreditCode('91350100M000100Y', { checkCode: false }); // false
|
|
69
68
|
*
|
|
70
69
|
*/
|
|
71
|
-
|
|
72
|
-
|
|
73
70
|
function isSocialCreditCode(value) {
|
|
74
71
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
75
|
-
var valueStr = (0, _normalizeString["default"])(value);
|
|
72
|
+
var valueStr = (0, _normalizeString["default"])(value);
|
|
73
|
+
// @ts-ignore
|
|
76
74
|
// TODO 下个版本废弃 loose
|
|
77
|
-
|
|
78
75
|
var _options$loose = options.loose,
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
76
|
+
loose = _options$loose === void 0 ? false : _options$loose,
|
|
77
|
+
_options$checkCode = options.checkCode,
|
|
78
|
+
cc = _options$checkCode === void 0 ? true : _options$checkCode;
|
|
82
79
|
var needCheckCode = !loose && cc;
|
|
83
|
-
var passBaseRule = baseReg.test(valueStr);
|
|
80
|
+
var passBaseRule = baseReg.test(valueStr);
|
|
84
81
|
|
|
82
|
+
// 宽松模式 或 基础规则不通过直接返回
|
|
85
83
|
if (!needCheckCode || !passBaseRule) {
|
|
86
84
|
return passBaseRule;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
var preCode = valueStr.substring(0, 17); // 校验码
|
|
91
|
-
|
|
92
|
-
var lastCode = valueStr.substring(valueStr.length - 1); // 计算校验码
|
|
85
|
+
}
|
|
93
86
|
|
|
87
|
+
// 前17位
|
|
88
|
+
var preCode = valueStr.substring(0, 17);
|
|
89
|
+
// 校验码
|
|
90
|
+
var lastCode = valueStr.substring(valueStr.length - 1);
|
|
91
|
+
// 计算校验码
|
|
94
92
|
var checkCode = sumCheckCode(preCode);
|
|
95
93
|
return lastCode === checkCode;
|
|
96
94
|
}
|
|
97
|
-
|
|
98
95
|
var _default = isSocialCreditCode;
|
|
99
96
|
exports["default"] = _default;
|
package/lib/isSwiftCode.js
CHANGED
|
@@ -4,12 +4,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _normalizeString = _interopRequireDefault(require("./normalizeString"));
|
|
9
|
-
|
|
10
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
-
|
|
12
9
|
var reg = /^[A-Z]{6}[A-Z\d]{2}(?:[A-Z\d]{3})?$/;
|
|
10
|
+
|
|
13
11
|
/**
|
|
14
12
|
* 检测值是否为 Swift Code。8位或11位,前6位为大写字母,7-8位为大写字母或数字,9-11位为可选的大写字母或数字。
|
|
15
13
|
*
|
|
@@ -30,11 +28,9 @@ var reg = /^[A-Z]{6}[A-Z\d]{2}(?:[A-Z\d]{3})?$/;
|
|
|
30
28
|
* isSwiftCode('ICBKCNBJBJM'); // true
|
|
31
29
|
*
|
|
32
30
|
*/
|
|
33
|
-
|
|
34
31
|
function isSwiftCode(value) {
|
|
35
32
|
var valueStr = (0, _normalizeString["default"])(value);
|
|
36
33
|
return reg.test(valueStr);
|
|
37
34
|
}
|
|
38
|
-
|
|
39
35
|
var _default = isSwiftCode;
|
|
40
36
|
exports["default"] = _default;
|
package/lib/isTWCard.js
CHANGED
|
@@ -4,15 +4,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _normalizeString = _interopRequireDefault(require("./normalizeString"));
|
|
9
|
-
|
|
10
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
-
|
|
12
9
|
// 台湾居民来往大陆通行证正则
|
|
13
|
-
var regTWCard = /^\d{8}$/i;
|
|
10
|
+
var regTWCard = /^\d{8}$/i;
|
|
14
11
|
|
|
12
|
+
// 一次性短期台胞证
|
|
15
13
|
var singleRegTWCard = /^[\da-z]{10,12}$/i;
|
|
14
|
+
|
|
16
15
|
/**
|
|
17
16
|
* 检测值是否为台湾居民来往大陆通行证,俗称台胞证。
|
|
18
17
|
*
|
|
@@ -35,19 +34,15 @@ var singleRegTWCard = /^[\da-z]{10,12}$/i;
|
|
|
35
34
|
* // 宽松模式,支持一次性短期通行证
|
|
36
35
|
* isTWCard('F290299977', { loose: true }); // true
|
|
37
36
|
*/
|
|
38
|
-
|
|
39
37
|
function isTWCard(value) {
|
|
40
38
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
41
39
|
var _options$loose = options.loose,
|
|
42
|
-
|
|
40
|
+
loose = _options$loose === void 0 ? false : _options$loose;
|
|
43
41
|
var valueStr = (0, _normalizeString["default"])(value);
|
|
44
|
-
|
|
45
42
|
if (regTWCard.test(valueStr)) {
|
|
46
43
|
return true;
|
|
47
44
|
}
|
|
48
|
-
|
|
49
45
|
return loose ? singleRegTWCard.test(valueStr) : false;
|
|
50
46
|
}
|
|
51
|
-
|
|
52
47
|
var _default = isTWCard;
|
|
53
48
|
exports["default"] = _default;
|
package/lib/isTelephone.js
CHANGED
|
@@ -4,13 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _normalizeString = _interopRequireDefault(require("./normalizeString"));
|
|
9
|
-
|
|
10
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
-
|
|
12
9
|
// 固定电话 支持区号和分机号 3~4位区号,以0开头;7~8位直播号,以2~9开头;1~6位分机号
|
|
13
10
|
var reg = /^(0\d{2,3}\-)?([2-9]\d{6,7})(\-\d{1,6})?$/;
|
|
11
|
+
|
|
14
12
|
/**
|
|
15
13
|
* 检测值是否为固定电话
|
|
16
14
|
*
|
|
@@ -31,11 +29,9 @@ var reg = /^(0\d{2,3}\-)?([2-9]\d{6,7})(\-\d{1,6})?$/;
|
|
|
31
29
|
* isTelephone('021-22033212-123'); // true
|
|
32
30
|
*
|
|
33
31
|
*/
|
|
34
|
-
|
|
35
32
|
function isTelephone(value) {
|
|
36
33
|
var valueStr = (0, _normalizeString["default"])(value);
|
|
37
34
|
return reg.test(valueStr);
|
|
38
35
|
}
|
|
39
|
-
|
|
40
36
|
var _default = isTelephone;
|
|
41
37
|
exports["default"] = _default;
|
package/lib/isUrl.js
CHANGED
|
@@ -4,17 +4,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _normalizeString = _interopRequireDefault(require("./normalizeString"));
|
|
9
|
-
|
|
10
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
-
|
|
12
9
|
// 标准格式如下:
|
|
13
10
|
// [协议类型]://[服务器地址]:[端口号]/[资源层级UNIX文件路径][文件名]?[查询]#[片段ID]
|
|
11
|
+
|
|
14
12
|
// 完整格式如下:
|
|
15
13
|
// [协议类型]://[访问资源需要的凭证信息]@[服务器地址]:[端口号]/[资源层级UNIX文件路径][文件名]?[查询]#[片段ID]
|
|
16
14
|
//
|
|
17
15
|
// 其中[访问凭证信息]、[端口号]、[查询]、[片段ID]都属于选填项。
|
|
16
|
+
|
|
18
17
|
var protocalReg = '[\\w-.]+:\\/\\/';
|
|
19
18
|
var credentialsReg = '[-;:&=\\+\\$,\\w]+@';
|
|
20
19
|
var serverReg = 'localhost|(([^\\s:\\/]+?\\.)+?[^\\s:\\/]+)';
|
|
@@ -24,6 +23,7 @@ var searchReg = '\\?.*';
|
|
|
24
23
|
var hashReg = '#.*';
|
|
25
24
|
var regWithProtocal = new RegExp("^".concat(protocalReg, "(?:").concat(credentialsReg, ")?(?:").concat(serverReg, ")(?:").concat(portReg, ")?(?:").concat(pathReg, ")*(?:").concat(searchReg, ")?(?:").concat(hashReg, ")?$"));
|
|
26
25
|
var regNonProtocal = new RegExp("^(?:".concat(serverReg, ")(?:").concat(portReg, ")?(?:").concat(pathReg, ")*(?:").concat(searchReg, ")?(?:").concat(hashReg, ")?$"));
|
|
26
|
+
|
|
27
27
|
/**
|
|
28
28
|
* 检测值是否为url
|
|
29
29
|
*
|
|
@@ -51,13 +51,13 @@ var regNonProtocal = new RegExp("^(?:".concat(serverReg, ")(?:").concat(portReg,
|
|
|
51
51
|
* isUrl('a.b:8080'); // true
|
|
52
52
|
* isUrl('p://a.b'); // true
|
|
53
53
|
* isUrl('p://a.b:8888'); // true
|
|
54
|
+
* isUrl('中文域名.中文后缀'); // true
|
|
55
|
+
* isUrl('中文域名.cn'); // true
|
|
54
56
|
*
|
|
55
57
|
*/
|
|
56
|
-
|
|
57
58
|
function isUrl(value) {
|
|
58
59
|
var valueStr = (0, _normalizeString["default"])(value);
|
|
59
60
|
return regWithProtocal.test(valueStr) || regNonProtocal.test(valueStr);
|
|
60
61
|
}
|
|
61
|
-
|
|
62
62
|
var _default = isUrl;
|
|
63
63
|
exports["default"] = _default;
|
package/lib/isVehicle.js
CHANGED
|
@@ -4,13 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _normalizeString = _interopRequireDefault(require("./normalizeString"));
|
|
9
|
-
|
|
10
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
-
|
|
12
9
|
// 车牌号正则
|
|
13
10
|
var reg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([A-Z0-9]{4}[A-Z0-9挂学警港澳]{1})|([A-Z0-9]{5}[DF])|([DF][A-Z0-9]{5}))$/;
|
|
11
|
+
|
|
14
12
|
/**
|
|
15
13
|
* 检测值是否为车牌号,支持新能源和非新能源车牌
|
|
16
14
|
*
|
|
@@ -33,11 +31,9 @@ var reg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕
|
|
|
33
31
|
* isVehicle('粤B12345F'); // true
|
|
34
32
|
*
|
|
35
33
|
*/
|
|
36
|
-
|
|
37
34
|
function isVehicle(value) {
|
|
38
35
|
var valueStr = (0, _normalizeString["default"])(value);
|
|
39
36
|
return reg.test(valueStr);
|
|
40
37
|
}
|
|
41
|
-
|
|
42
38
|
var _default = isVehicle;
|
|
43
39
|
exports["default"] = _default;
|
package/lib/isWX.js
CHANGED
|
@@ -4,13 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _normalizeString = _interopRequireDefault(require("./normalizeString"));
|
|
9
|
-
|
|
10
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
-
|
|
12
9
|
// 微信号 6至20位,以字母开头,字母,数字,减号(连接符),下划线
|
|
13
10
|
var reg = /^[a-z]([-_a-z0-9]{5,19})+$/i;
|
|
11
|
+
|
|
14
12
|
/**
|
|
15
13
|
* 检测值是否为微信号
|
|
16
14
|
*
|
|
@@ -25,11 +23,9 @@ var reg = /^[a-z]([-_a-z0-9]{5,19})+$/i;
|
|
|
25
23
|
* isWX('123'); // false
|
|
26
24
|
*
|
|
27
25
|
*/
|
|
28
|
-
|
|
29
26
|
function isWX(value) {
|
|
30
27
|
var valueStr = (0, _normalizeString["default"])(value);
|
|
31
28
|
return reg.test(valueStr);
|
|
32
29
|
}
|
|
33
|
-
|
|
34
30
|
var _default = isWX;
|
|
35
31
|
exports["default"] = _default;
|