util-helpers 4.12.4 → 4.12.7
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 +9 -5
- package/dist/util-helpers.js +225 -363
- 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/bytesToSize.js +5 -11
- package/esm/calculateCursorPosition.js +1 -1
- package/esm/dataURLToBlob.js +1 -1
- package/esm/divide.js +1 -0
- package/esm/formatBankCard.js +4 -8
- package/esm/formatMobile.js +9 -7
- package/esm/formatMoney.js +8 -14
- package/esm/isBankCard.js +6 -11
- package/esm/isBusinessLicense.js +7 -10
- package/esm/isChinese.js +10 -17
- package/esm/isEmail.js +2 -5
- package/esm/isHMCard.js +8 -8
- package/esm/isIPv4.js +4 -11
- package/esm/isIPv6.js +11 -29
- package/esm/isIdCard.js +9 -12
- package/esm/isMobile.js +2 -5
- package/esm/isPassport.js +2 -5
- package/esm/isPassword.js +14 -21
- package/esm/isPostcode.js +2 -5
- package/esm/isPromiseLike.js +4 -8
- package/esm/isQQ.js +2 -5
- package/esm/isSocialCreditCode.js +6 -11
- package/esm/isSwiftCode.js +5 -5
- package/esm/isTWCard.js +7 -4
- package/esm/isTelephone.js +7 -10
- package/esm/isUrl.js +8 -20
- package/esm/isVehicle.js +9 -14
- package/esm/isWX.js +2 -5
- package/esm/minus.js +4 -8
- package/esm/normalizeString.js +2 -0
- package/esm/numberToChinese.js +13 -19
- package/esm/padZero.js +9 -8
- package/esm/parseIdCard.js +8 -17
- package/esm/plus.js +4 -8
- package/esm/randomString.js +2 -0
- package/esm/replaceChar.js +9 -17
- package/esm/round.js +4 -8
- package/esm/safeDate.js +2 -0
- package/esm/setDataURLPrefix.js +2 -0
- package/esm/times.js +4 -8
- package/esm/utils/config.js +1 -1
- package/esm/utils/math.util.js +4 -9
- package/esm/waitTime.js +3 -1
- package/lib/bytesToSize.js +5 -11
- package/lib/calculateCursorPosition.js +1 -1
- package/lib/dataURLToBlob.js +1 -1
- package/lib/divide.js +1 -0
- package/lib/formatBankCard.js +4 -8
- package/lib/formatMobile.js +9 -7
- package/lib/formatMoney.js +8 -14
- package/lib/isBankCard.js +6 -11
- package/lib/isBusinessLicense.js +7 -10
- package/lib/isChinese.js +10 -17
- package/lib/isEmail.js +2 -5
- package/lib/isHMCard.js +8 -8
- package/lib/isIPv4.js +4 -11
- package/lib/isIPv6.js +11 -29
- package/lib/isIdCard.js +9 -12
- package/lib/isMobile.js +2 -5
- package/lib/isPassport.js +2 -5
- package/lib/isPassword.js +14 -21
- package/lib/isPostcode.js +2 -5
- package/lib/isPromiseLike.js +4 -8
- package/lib/isQQ.js +2 -5
- package/lib/isSocialCreditCode.js +6 -11
- package/lib/isSwiftCode.js +5 -5
- package/lib/isTWCard.js +7 -4
- package/lib/isTelephone.js +7 -10
- package/lib/isUrl.js +8 -20
- package/lib/isVehicle.js +9 -14
- package/lib/isWX.js +2 -5
- package/lib/minus.js +4 -8
- package/lib/normalizeString.js +2 -0
- package/lib/numberToChinese.js +13 -19
- package/lib/padZero.js +9 -8
- package/lib/parseIdCard.js +8 -19
- package/lib/plus.js +4 -8
- package/lib/randomString.js +2 -0
- package/lib/replaceChar.js +9 -17
- package/lib/round.js +4 -8
- package/lib/safeDate.js +2 -0
- package/lib/setDataURLPrefix.js +2 -0
- package/lib/times.js +4 -8
- package/lib/utils/config.js +1 -1
- package/lib/utils/math.util.js +4 -9
- package/lib/waitTime.js +3 -1
- package/package.json +1 -1
- package/types/src/bytesToSize.d.ts +4 -10
- package/types/src/dataURLToBlob.d.ts +1 -1
- package/types/src/divide.d.ts +1 -0
- package/types/src/formatBankCard.d.ts +4 -8
- package/types/src/formatMobile.d.ts +9 -7
- package/types/src/formatMoney.d.ts +8 -14
- package/types/src/isBankCard.d.ts +5 -10
- package/types/src/isBusinessLicense.d.ts +6 -9
- package/types/src/isChinese.d.ts +9 -16
- package/types/src/isEmail.d.ts +2 -5
- package/types/src/isHMCard.d.ts +8 -8
- package/types/src/isIPv4.d.ts +4 -11
- package/types/src/isIPv6.d.ts +11 -29
- package/types/src/isIdCard.d.ts +8 -11
- package/types/src/isMobile.d.ts +2 -5
- package/types/src/isPassport.d.ts +2 -5
- package/types/src/isPassword.d.ts +10 -17
- package/types/src/isPostcode.d.ts +2 -5
- package/types/src/isPromiseLike.d.ts +3 -7
- package/types/src/isQQ.d.ts +2 -5
- package/types/src/isSocialCreditCode.d.ts +6 -11
- package/types/src/isSwiftCode.d.ts +5 -5
- package/types/src/isTWCard.d.ts +7 -4
- package/types/src/isTelephone.d.ts +6 -9
- package/types/src/isUrl.d.ts +7 -19
- package/types/src/isVehicle.d.ts +8 -13
- package/types/src/isWX.d.ts +2 -5
- package/types/src/minus.d.ts +3 -7
- package/types/src/normalizeString.d.ts +2 -0
- package/types/src/numberToChinese.d.ts +10 -18
- package/types/src/padZero.d.ts +9 -8
- package/types/src/parseIdCard.d.ts +3 -3
- package/types/src/plus.d.ts +3 -7
- package/types/src/randomString.d.ts +2 -0
- package/types/src/replaceChar.d.ts +9 -17
- package/types/src/round.d.ts +3 -7
- package/types/src/safeDate.d.ts +2 -0
- package/types/src/setDataURLPrefix.d.ts +2 -0
- package/types/src/times.d.ts +3 -7
- package/types/src/waitTime.d.ts +3 -1
package/lib/replaceChar.js
CHANGED
|
@@ -26,33 +26,25 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
|
|
|
26
26
|
* @example
|
|
27
27
|
*
|
|
28
28
|
* // 手机号
|
|
29
|
-
* replaceChar('13000000000');
|
|
30
|
-
* // => 130****0000
|
|
29
|
+
* replaceChar('13000000000'); // 130****0000
|
|
31
30
|
*
|
|
32
31
|
* // 身份证
|
|
33
|
-
* replaceChar('130701199310302288');
|
|
34
|
-
* // => 130***********2288
|
|
32
|
+
* replaceChar('130701199310302288'); // 130***********2288
|
|
35
33
|
*
|
|
36
34
|
* // 邮箱
|
|
37
35
|
* const email = '12345@qq.com'
|
|
38
|
-
* replaceChar(email, {start: 2, end: email.indexOf('@'), repeat: 4});
|
|
39
|
-
* // => 12****@qq.com
|
|
36
|
+
* replaceChar(email, {start: 2, end: email.indexOf('@'), repeat: 4}); // 12****@qq.com
|
|
40
37
|
*
|
|
41
38
|
* // 银行卡号
|
|
42
|
-
* replaceChar('6228480402564890018', {start: 0, end: -4, repeat: 4});
|
|
43
|
-
* // => ****0018
|
|
39
|
+
* replaceChar('6228480402564890018', {start: 0, end: -4, repeat: 4}); // ****0018
|
|
44
40
|
*
|
|
45
|
-
* //
|
|
46
|
-
* replaceChar('6228 4804 0256 4890 018', {start: 4, end: -4, exclude: ' '});
|
|
47
|
-
* // => 6228 **** **** **** 018
|
|
41
|
+
* // 带格式的银行卡号,忽略空字符串
|
|
42
|
+
* replaceChar('6228 4804 0256 4890 018', {start: 4, end: -4, exclude: ' '}); // 6228 **** **** **** 018
|
|
48
43
|
*
|
|
49
44
|
* // 用户名
|
|
50
|
-
* replaceChar('林某某', {start: 1, end: Infinity, repeat: 2});
|
|
51
|
-
* //
|
|
52
|
-
* replaceChar('
|
|
53
|
-
* // => 林**
|
|
54
|
-
* replaceChar('林某某某', {start: 1, end: Infinity, repeat: 2});
|
|
55
|
-
* // => 林**
|
|
45
|
+
* replaceChar('林某某', {start: 1, end: Infinity, repeat: 2}); // 林**
|
|
46
|
+
* replaceChar('林某', {start: 1, end: Infinity, repeat: 2}); // 林**
|
|
47
|
+
* replaceChar('林某某某', {start: 1, end: Infinity, repeat: 2}); // 林**
|
|
56
48
|
*
|
|
57
49
|
*/
|
|
58
50
|
function replaceChar(str) {
|
package/lib/round.js
CHANGED
|
@@ -24,14 +24,10 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
|
|
|
24
24
|
* @returns {number} 四舍五入的数字
|
|
25
25
|
* @example
|
|
26
26
|
*
|
|
27
|
-
* round(4.006);
|
|
28
|
-
* //
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
* // => 4.01
|
|
32
|
-
*
|
|
33
|
-
* round(4060, -2);
|
|
34
|
-
* // => 4100
|
|
27
|
+
* round(4.006); // 4
|
|
28
|
+
* round(4.006, 2); // 4.01
|
|
29
|
+
* round(4060, -2); // 4100
|
|
30
|
+
*
|
|
35
31
|
*/
|
|
36
32
|
function round(num) {
|
|
37
33
|
var precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
package/lib/safeDate.js
CHANGED
|
@@ -29,12 +29,14 @@ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || func
|
|
|
29
29
|
* @param {...number} args 月/日/时/分/秒/毫秒
|
|
30
30
|
* @returns {Date} Date 实例日期对象
|
|
31
31
|
* @example
|
|
32
|
+
*
|
|
32
33
|
* safeDate('2022-1-1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
|
|
33
34
|
* safeDate('2022/1/1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
|
|
34
35
|
* safeDate('2022.1.1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
|
|
35
36
|
* safeDate('2022.1.1 11:11'); // Sat Jan 01 2022 11:11:00 GMT+0800 (中国标准时间)
|
|
36
37
|
* safeDate(99, 1); // Mon Feb 01 1999 00:00:00 GMT+0800 (中国标准时间)
|
|
37
38
|
* safeDate(1646711233171); // Tue Mar 08 2022 11:47:13 GMT+0800 (中国标准时间)
|
|
39
|
+
*
|
|
38
40
|
*
|
|
39
41
|
*/
|
|
40
42
|
function safeDate(value) {
|
package/lib/setDataURLPrefix.js
CHANGED
|
@@ -19,6 +19,7 @@ exports["default"] = void 0;
|
|
|
19
19
|
* @param {boolean} [base64=true] 添加 base64 标识
|
|
20
20
|
* @returns {string} DataURL 格式的字符串
|
|
21
21
|
* @example
|
|
22
|
+
*
|
|
22
23
|
* const data = 'PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=';
|
|
23
24
|
* setDataURLPrefix(data); // data:image/png;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
24
25
|
* setDataURLPrefix(data, 'image/png', false); // data:image/png,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
@@ -26,6 +27,7 @@ exports["default"] = void 0;
|
|
|
26
27
|
* setDataURLPrefix(data, 'text/html'); // data:text/html;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
27
28
|
* setDataURLPrefix(data, ''); // data:;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
28
29
|
* setDataURLPrefix(data, '', false); // data:,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
30
|
+
*
|
|
29
31
|
*/
|
|
30
32
|
function setDataURLPrefix(data) {
|
|
31
33
|
var mimetype = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'image/png';
|
package/lib/times.js
CHANGED
|
@@ -29,14 +29,10 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
29
29
|
* @returns {number} 乘积
|
|
30
30
|
* @example
|
|
31
31
|
*
|
|
32
|
-
* times(3, 0.6);
|
|
33
|
-
* //
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* // => 3.6
|
|
37
|
-
*
|
|
38
|
-
* times(3, 0.6, 2, 10);
|
|
39
|
-
* // => 36
|
|
32
|
+
* times(3, 0.6); // 1.8
|
|
33
|
+
* times(3, 0.6, 2); // 3.6
|
|
34
|
+
* times(3, 0.6, 2, 10); // 36
|
|
35
|
+
*
|
|
40
36
|
*/
|
|
41
37
|
function times() {
|
|
42
38
|
for (var _len = arguments.length, nums = new Array(_len), _key = 0; _key < _len; _key++) {
|
package/lib/utils/config.js
CHANGED
package/lib/utils/math.util.js
CHANGED
|
@@ -47,18 +47,13 @@ function transformEffectiveNumber(value) {
|
|
|
47
47
|
ret = Number.NaN;
|
|
48
48
|
}
|
|
49
49
|
} else if ((0, _type.isSymbol)(value)) {
|
|
50
|
-
ret = Number.NaN;
|
|
51
|
-
} else if (!(0, _type.isNumber)(value)) {
|
|
52
|
-
// 其余非数字类型通过 Number 转换
|
|
53
50
|
// 例如 Symbol 包装器对象将会报错
|
|
54
51
|
// symObj = Object(Symbol());
|
|
55
52
|
// Number(symObj); // TypeError: Cannot convert a Symbol value to a number
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
console.error(err);
|
|
61
|
-
}
|
|
53
|
+
ret = Number.NaN;
|
|
54
|
+
} else if (!(0, _type.isNumber)(value)) {
|
|
55
|
+
// 其余非数字类型通过 Number 转换
|
|
56
|
+
ret = Number(value);
|
|
62
57
|
} else {
|
|
63
58
|
ret = value;
|
|
64
59
|
}
|
package/lib/waitTime.js
CHANGED
|
@@ -14,6 +14,7 @@ exports["default"] = void 0;
|
|
|
14
14
|
* @param {number} [time=1000] 延时时间,单位毫秒
|
|
15
15
|
* @returns {Promise<void>}
|
|
16
16
|
* @example
|
|
17
|
+
*
|
|
17
18
|
* const test = async ()=>{
|
|
18
19
|
* await waitTime();
|
|
19
20
|
* // do something
|
|
@@ -21,7 +22,8 @@ exports["default"] = void 0;
|
|
|
21
22
|
*
|
|
22
23
|
* waitTime(500).then(()=>{
|
|
23
24
|
* // do something
|
|
24
|
-
* })
|
|
25
|
+
* });
|
|
26
|
+
*
|
|
25
27
|
*/
|
|
26
28
|
function waitTime() {
|
|
27
29
|
var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1000;
|
package/package.json
CHANGED
|
@@ -9,16 +9,10 @@ export default bytesToSize;
|
|
|
9
9
|
* @returns {string} 存储单位值
|
|
10
10
|
* @example
|
|
11
11
|
*
|
|
12
|
-
* bytesToSize(0);
|
|
13
|
-
* //
|
|
12
|
+
* bytesToSize(0); // 0 B
|
|
13
|
+
* bytesToSize(1024); // 1 KB
|
|
14
|
+
* bytesToSize(3.213243*1024*1024); // 3.21 MB
|
|
15
|
+
* bytesToSize(1024*1024*1024); // 1 GB
|
|
14
16
|
*
|
|
15
|
-
* bytesToSize(1024);
|
|
16
|
-
* // => 1 KB
|
|
17
|
-
*
|
|
18
|
-
* bytesToSize(3.213243*1024*1024);
|
|
19
|
-
* // => 3.21 MB
|
|
20
|
-
*
|
|
21
|
-
* bytesToSize(1024*1024*1024);
|
|
22
|
-
* // => 1 GB
|
|
23
17
|
*/
|
|
24
18
|
declare function bytesToSize(bytes: number): string;
|
|
@@ -10,6 +10,6 @@ export default dataURLToBlob;
|
|
|
10
10
|
* @returns {Blob} Blob 对象
|
|
11
11
|
* @example
|
|
12
12
|
* const dataurl = 'data:text/html;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=';
|
|
13
|
-
* dataURLToBlob(dataurl);
|
|
13
|
+
* dataURLToBlob(dataurl); // Blob {size: 32, type: 'text/html'}
|
|
14
14
|
*/
|
|
15
15
|
declare function dataURLToBlob(dataurl: string): Blob;
|
package/types/src/divide.d.ts
CHANGED
|
@@ -17,5 +17,6 @@ export default divide;
|
|
|
17
17
|
* divide(); // NaN 如果没有传入参数,被除数默认为 undefined 。 Number(undefined) 转换为 NaN ,NaN/1 = NaN
|
|
18
18
|
* divide(null); // 0 Number(null) 转换为 0 , 0/1 = 0
|
|
19
19
|
* divide('1.5 ', 0.5); // 3 Number('1.5 ') 转换为 1.5 ,1.5/0.5 = 3
|
|
20
|
+
*
|
|
20
21
|
*/
|
|
21
22
|
declare function divide(...nums: (number | string)[]): number;
|
|
@@ -13,20 +13,16 @@ export default formatBankCard;
|
|
|
13
13
|
* @example
|
|
14
14
|
*
|
|
15
15
|
* // 19位银行卡
|
|
16
|
-
* formatBankCard('6228480402564890018');
|
|
17
|
-
* // => 6228 4804 0256 4890 018
|
|
16
|
+
* formatBankCard('6228480402564890018'); // 6228 4804 0256 4890 018
|
|
18
17
|
*
|
|
19
18
|
* // 16位银行卡
|
|
20
|
-
* formatBankCard('6228480402564890');
|
|
21
|
-
* // => 6228 4804 0256 4890
|
|
19
|
+
* formatBankCard('6228480402564890'); // 6228 4804 0256 4890
|
|
22
20
|
*
|
|
23
21
|
* // 脱敏银行卡
|
|
24
|
-
* formatBankCard('6228********890');
|
|
25
|
-
* // => 6228 **** **** 890
|
|
22
|
+
* formatBankCard('6228********890'); // 6228 **** **** 890
|
|
26
23
|
*
|
|
27
24
|
* // 16位银行卡,"-"间隔
|
|
28
|
-
* formatBankCard('6228480402564890', {char: '-'});
|
|
29
|
-
* // => 6228-4804-0256-4890
|
|
25
|
+
* formatBankCard('6228480402564890', {char: '-'}); // 6228-4804-0256-4890
|
|
30
26
|
*
|
|
31
27
|
*/
|
|
32
28
|
declare function formatBankCard(bankCardNo?: string, { char, length }?: {
|
|
@@ -10,17 +10,19 @@ export default formatMobile;
|
|
|
10
10
|
* @param {string} [options.char=' '] 间隔字符
|
|
11
11
|
* @returns {string} 格式化后的手机号码
|
|
12
12
|
* @example
|
|
13
|
-
*
|
|
14
|
-
* formatMobile('13345678900'
|
|
13
|
+
*
|
|
14
|
+
* formatMobile('13345678900'); // 133 4567 8900
|
|
15
|
+
* formatMobile('13345678900', { char: '-' }); // 133-4567-8900
|
|
15
16
|
*
|
|
16
17
|
* // 脱敏手机号码
|
|
17
|
-
* formatMobile('133****1234') //
|
|
18
|
-
* formatMobile('133****1234', { char: '-' }) //
|
|
18
|
+
* formatMobile('133****1234'); // 133 **** 1234
|
|
19
|
+
* formatMobile('133****1234', { char: '-' }); // 133-****-1234
|
|
19
20
|
*
|
|
20
21
|
* // 手机号码位数不够
|
|
21
|
-
* formatMobile('133') //
|
|
22
|
-
* formatMobile('133456') //
|
|
23
|
-
* formatMobile('13345678') //
|
|
22
|
+
* formatMobile('133'); // 133
|
|
23
|
+
* formatMobile('133456'); // 133 456
|
|
24
|
+
* formatMobile('13345678'); // 133 4567 8
|
|
25
|
+
*
|
|
24
26
|
*/
|
|
25
27
|
declare function formatMobile(mobileNo: string, { char }?: {
|
|
26
28
|
char?: string | undefined;
|
|
@@ -15,32 +15,26 @@ export default formatMoney;
|
|
|
15
15
|
* @example
|
|
16
16
|
*
|
|
17
17
|
* // 整数
|
|
18
|
-
* formatMoney('1000');
|
|
19
|
-
* // => 1,000.00
|
|
18
|
+
* formatMoney('1000'); // 1,000.00
|
|
20
19
|
*
|
|
21
20
|
* // 小数(默认保留2位小数)
|
|
22
|
-
* formatMoney('3000.03');
|
|
23
|
-
* // => 3,000.03
|
|
21
|
+
* formatMoney('3000.03'); // 3,000.03
|
|
24
22
|
*
|
|
25
23
|
* // 保留4位小数
|
|
26
|
-
* formatMoney('3000.0300', { precision: 4 });
|
|
27
|
-
* // => 3,000.0300
|
|
24
|
+
* formatMoney('3000.0300', { precision: 4 }); // 3,000.0300
|
|
28
25
|
*
|
|
29
26
|
* // 保留10位小数
|
|
30
|
-
* formatMoney('1500.2', { precision: 10 });
|
|
31
|
-
* // => 1,500.2000000000
|
|
27
|
+
* formatMoney('1500.2', { precision: 10 }); // 1,500.2000000000
|
|
32
28
|
*
|
|
33
29
|
* // 自定义单位符号
|
|
34
|
-
* formatMoney(1000.00, { symbol: '$' });
|
|
35
|
-
* // => $1,000.00
|
|
30
|
+
* formatMoney(1000.00, { symbol: '$' }); // $1,000.00
|
|
36
31
|
*
|
|
37
32
|
* // 自定义千位分割符(默认',')
|
|
38
|
-
* formatMoney(1000.00, { thousand: '|' });
|
|
39
|
-
* // => 1|000.00
|
|
33
|
+
* formatMoney(1000.00, { thousand: '|' }); // 1|000.00
|
|
40
34
|
*
|
|
41
35
|
* // 自定义小数位分割符(默认'.')
|
|
42
|
-
* formatMoney(1000.00, { decimal: '&' });
|
|
43
|
-
*
|
|
36
|
+
* formatMoney(1000.00, { decimal: '&' }); // 1,000&00
|
|
37
|
+
*
|
|
44
38
|
*/
|
|
45
39
|
declare function formatMoney(num: string | number, { precision, symbol, thousand, decimal }?: {
|
|
46
40
|
precision?: string | number | undefined;
|
|
@@ -13,17 +13,12 @@ export default isBankCard;
|
|
|
13
13
|
* @returns {boolean} 值是否为银行卡号
|
|
14
14
|
* @example
|
|
15
15
|
*
|
|
16
|
-
* isBankCard('6228480402564890018');
|
|
17
|
-
* //
|
|
16
|
+
* isBankCard('6228480402564890018'); // true
|
|
17
|
+
* isBankCard('6228480402564890'); // true
|
|
18
|
+
* isBankCard('123456789'); // false
|
|
18
19
|
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* isBankCard('123456789');
|
|
23
|
-
* // => false
|
|
24
|
-
*
|
|
25
|
-
* isBankCard('123456789', { loose: true });
|
|
26
|
-
* // => true
|
|
20
|
+
* // 宽松模式
|
|
21
|
+
* isBankCard('123456789', { loose: true }); // true
|
|
27
22
|
*
|
|
28
23
|
*/
|
|
29
24
|
declare function isBankCard(value: any, { loose, luhn }?: {
|
|
@@ -12,17 +12,14 @@ export default isBusinessLicense;
|
|
|
12
12
|
* @returns {boolean} 值是否为营业执照号
|
|
13
13
|
* @example
|
|
14
14
|
*
|
|
15
|
-
* isBusinessLicense('310115600985533');
|
|
16
|
-
* //
|
|
15
|
+
* isBusinessLicense('310115600985533'); // true
|
|
16
|
+
* isBusinessLicense('310115600985535'); // false
|
|
17
17
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
18
|
+
* // 不校验验证码,长度和类型还是有校验
|
|
19
|
+
* isBusinessLicense('310115600985535', { checkCode: false }); // true
|
|
20
|
+
* isBusinessLicense('ac115600985535', { checkCode: false }); // false
|
|
21
|
+
* isBusinessLicense('31011560098', { checkCode: false }); // false
|
|
20
22
|
*
|
|
21
|
-
* isBusinessLicense('310115600985535', { checkCode: false });
|
|
22
|
-
* // => true
|
|
23
|
-
*
|
|
24
|
-
* isBusinessLicense('31011560098', { checkCode: false });
|
|
25
|
-
* // => false
|
|
26
23
|
*/
|
|
27
24
|
declare function isBusinessLicense(value: any, options?: {
|
|
28
25
|
checkCode?: boolean | undefined;
|
package/types/src/isChinese.d.ts
CHANGED
|
@@ -13,27 +13,20 @@ export default isChinese;
|
|
|
13
13
|
* @returns {boolean} 值是否为中文
|
|
14
14
|
* @example
|
|
15
15
|
*
|
|
16
|
-
* isChinese('林某某');
|
|
17
|
-
* //
|
|
18
|
-
*
|
|
19
|
-
* isChinese('林A');
|
|
20
|
-
* // => false
|
|
16
|
+
* isChinese('林某某'); // true
|
|
17
|
+
* isChinese('林A'); // false
|
|
21
18
|
*
|
|
22
19
|
* // 宽松模式,只要包含中文即为true
|
|
23
|
-
* isChinese('林A', { loose: true });
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* isChinese('A林A', { loose: true });
|
|
27
|
-
* // => true
|
|
20
|
+
* isChinese('林A', { loose: true }); // true
|
|
21
|
+
* isChinese('A林A', { loose: true }); // true
|
|
28
22
|
*
|
|
29
|
-
*
|
|
30
|
-
* //
|
|
23
|
+
* // 扩展字符集的字符
|
|
24
|
+
* isChinese('𠮷'); // false
|
|
31
25
|
*
|
|
32
26
|
* // 使用中文扩展字符集,需要浏览器支持 RegExp.prototype.unicode 才生效。
|
|
33
|
-
* isChinese('𠮷', { useExtend: true });
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* // => true
|
|
27
|
+
* isChinese('𠮷', { useExtend: true }); // true
|
|
28
|
+
* isChinese('𠮷aa', { useExtend: true, loose: true }); // true
|
|
29
|
+
*
|
|
37
30
|
*/
|
|
38
31
|
declare function isChinese(value: any, { loose, useExtend }?: {
|
|
39
32
|
loose?: boolean | undefined;
|
package/types/src/isEmail.d.ts
CHANGED
|
@@ -9,11 +9,8 @@ export default isEmail;
|
|
|
9
9
|
* @returns {boolean} 值是否为Email
|
|
10
10
|
* @example
|
|
11
11
|
*
|
|
12
|
-
* isEmail('1232@qq.com');
|
|
13
|
-
* //
|
|
14
|
-
*
|
|
15
|
-
* isEmail('123@');
|
|
16
|
-
* // => false
|
|
12
|
+
* isEmail('1232@qq.com'); // true
|
|
13
|
+
* isEmail('123@'); // false
|
|
17
14
|
*
|
|
18
15
|
*/
|
|
19
16
|
declare function isEmail(value: any): boolean;
|
package/types/src/isHMCard.d.ts
CHANGED
|
@@ -10,15 +10,15 @@ export default isHMCard;
|
|
|
10
10
|
* @returns {boolean} 是否为港澳居民来往内地通行证
|
|
11
11
|
* @example
|
|
12
12
|
* // 第一代 11 位
|
|
13
|
-
* isHMCard('h3203117707') // true
|
|
14
|
-
* isHMCard('H3203117707') // true
|
|
15
|
-
* isHMCard('m3203117707') // true
|
|
16
|
-
* isHMCard('M3203117707') // true
|
|
13
|
+
* isHMCard('h3203117707'); // true
|
|
14
|
+
* isHMCard('H3203117707'); // true
|
|
15
|
+
* isHMCard('m3203117707'); // true
|
|
16
|
+
* isHMCard('M3203117707'); // true
|
|
17
17
|
*
|
|
18
18
|
* // 第二代 9 位
|
|
19
|
-
* isHMCard('h32031177') // true
|
|
20
|
-
* isHMCard('H32031177') // true
|
|
21
|
-
* isHMCard('m32031177') // true
|
|
22
|
-
* isHMCard('M32031177') // true
|
|
19
|
+
* isHMCard('h32031177'); // true
|
|
20
|
+
* isHMCard('H32031177'); // true
|
|
21
|
+
* isHMCard('m32031177'); // true
|
|
22
|
+
* isHMCard('M32031177'); // true
|
|
23
23
|
*/
|
|
24
24
|
declare function isHMCard(value: any): boolean;
|
package/types/src/isIPv4.d.ts
CHANGED
|
@@ -9,17 +9,10 @@ export default isIPv4;
|
|
|
9
9
|
* @returns {boolean} 值是否为ipv4
|
|
10
10
|
* @example
|
|
11
11
|
*
|
|
12
|
-
* isIPv4('192.168.1.1');
|
|
13
|
-
* //
|
|
14
|
-
*
|
|
15
|
-
* isIPv4('
|
|
16
|
-
* // => true
|
|
17
|
-
*
|
|
18
|
-
* isIPv4('256.256.256.256');
|
|
19
|
-
* // => false
|
|
20
|
-
*
|
|
21
|
-
* isIPv4('0.0');
|
|
22
|
-
* // => false
|
|
12
|
+
* isIPv4('192.168.1.1'); // true
|
|
13
|
+
* isIPv4('255.255.255.255'); // true
|
|
14
|
+
* isIPv4('256.256.256.256'); // false
|
|
15
|
+
* isIPv4('0.0'); // false
|
|
23
16
|
*
|
|
24
17
|
*/
|
|
25
18
|
declare function isIPv4(value: any): boolean;
|
package/types/src/isIPv6.d.ts
CHANGED
|
@@ -10,41 +10,23 @@ export default isIPv6;
|
|
|
10
10
|
* @example
|
|
11
11
|
*
|
|
12
12
|
* // 冒分十六进制表示法
|
|
13
|
-
* isIPv6('2001:0DB8:0000:0023:0008:0800:200C:417A');
|
|
14
|
-
* // => true
|
|
13
|
+
* isIPv6('2001:0DB8:0000:0023:0008:0800:200C:417A'); // true
|
|
15
14
|
*
|
|
16
15
|
* // 前导0省略
|
|
17
|
-
* isIPv6('2001:DB8:0:23:8:800:200C:417A');
|
|
18
|
-
* //
|
|
19
|
-
*
|
|
20
|
-
* isIPv6('FF01:0:0:0:0:0:0:1101');
|
|
21
|
-
* // => true
|
|
16
|
+
* isIPv6('2001:DB8:0:23:8:800:200C:417A'); // true
|
|
17
|
+
* isIPv6('FF01:0:0:0:0:0:0:1101'); // true
|
|
22
18
|
*
|
|
23
19
|
* // 0位压缩表示法
|
|
24
|
-
* isIPv6('FF01::1101');
|
|
25
|
-
* //
|
|
26
|
-
*
|
|
27
|
-
* isIPv6('
|
|
28
|
-
* //
|
|
29
|
-
*
|
|
30
|
-
* isIPv6('::');
|
|
31
|
-
* // => true
|
|
32
|
-
*
|
|
33
|
-
* isIPv6('0:0:0:0:0:0:0:1');
|
|
34
|
-
* // => true
|
|
35
|
-
*
|
|
36
|
-
* isIPv6('0:0:0:0:0:0:0:0');
|
|
37
|
-
* // => true
|
|
20
|
+
* isIPv6('FF01::1101'); // true
|
|
21
|
+
* isIPv6('::1'); // true
|
|
22
|
+
* isIPv6('::'); // true
|
|
23
|
+
* isIPv6('0:0:0:0:0:0:0:1'); // true
|
|
24
|
+
* isIPv6('0:0:0:0:0:0:0:0'); // true
|
|
38
25
|
*
|
|
39
26
|
* // 内嵌IPv4地址表示法
|
|
40
|
-
* isIPv6('::192.168.1.1');
|
|
41
|
-
* //
|
|
42
|
-
*
|
|
43
|
-
* isIPv6('::FFFF:192.168.1.1');
|
|
44
|
-
* // => true
|
|
45
|
-
*
|
|
46
|
-
* isIPv6('192.168.1.1');
|
|
47
|
-
* // => false
|
|
27
|
+
* isIPv6('::192.168.1.1'); // true
|
|
28
|
+
* isIPv6('::FFFF:192.168.1.1'); // true
|
|
29
|
+
* isIPv6('192.168.1.1'); // false
|
|
48
30
|
*
|
|
49
31
|
*/
|
|
50
32
|
declare function isIPv6(value: any): boolean;
|
package/types/src/isIdCard.d.ts
CHANGED
|
@@ -12,20 +12,17 @@ export default isIdCard;
|
|
|
12
12
|
* @returns {boolean} 值是否为身份证号
|
|
13
13
|
* @example
|
|
14
14
|
*
|
|
15
|
-
* isIdCard('130701199310302288');
|
|
16
|
-
* //
|
|
15
|
+
* isIdCard('130701199310302288'); // true
|
|
16
|
+
* isIdCard('13070119931030228X'); // false
|
|
17
17
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
18
|
+
* // 不校验校验码
|
|
19
|
+
* isIdCard('13070119931030228X', { checkCode: false }); // true
|
|
20
20
|
*
|
|
21
|
-
*
|
|
22
|
-
* //
|
|
21
|
+
* // 默认不支持15位身份证号码
|
|
22
|
+
* isIdCard('320311770706001'); // false
|
|
23
23
|
*
|
|
24
|
-
*
|
|
25
|
-
* //
|
|
26
|
-
*
|
|
27
|
-
* isIdCard('320311770706001', { loose: true });
|
|
28
|
-
* // => true
|
|
24
|
+
* // 宽松模式,支持15位身份证号
|
|
25
|
+
* isIdCard('320311770706001', { loose: true }); // true
|
|
29
26
|
*
|
|
30
27
|
*/
|
|
31
28
|
declare function isIdCard(value: any, { loose, checkCode }?: {
|
package/types/src/isMobile.d.ts
CHANGED
|
@@ -9,11 +9,8 @@ export default isMobile;
|
|
|
9
9
|
* @returns {boolean} 值是否为手机号码
|
|
10
10
|
* @example
|
|
11
11
|
*
|
|
12
|
-
* isMobile('13000000000');
|
|
13
|
-
* //
|
|
14
|
-
*
|
|
15
|
-
* isMobile('13000');
|
|
16
|
-
* // => false
|
|
12
|
+
* isMobile('13000000000'); // true
|
|
13
|
+
* isMobile('13000'); // false
|
|
17
14
|
*
|
|
18
15
|
*/
|
|
19
16
|
declare function isMobile(value: any): boolean;
|
|
@@ -11,11 +11,8 @@ export default isPassport;
|
|
|
11
11
|
* @returns {boolean} 值是否为护照号
|
|
12
12
|
* @example
|
|
13
13
|
*
|
|
14
|
-
* isPassport('E12345678');
|
|
15
|
-
* //
|
|
16
|
-
*
|
|
17
|
-
* isPassport('abc');
|
|
18
|
-
* // => false
|
|
14
|
+
* isPassport('E12345678'); // true
|
|
15
|
+
* isPassport('abc'); // false
|
|
19
16
|
*
|
|
20
17
|
*/
|
|
21
18
|
declare function isPassport(value: any): boolean;
|
|
@@ -17,27 +17,20 @@ export default isPassword;
|
|
|
17
17
|
* @returns {boolean} 值是否符合密码强度
|
|
18
18
|
* @example
|
|
19
19
|
*
|
|
20
|
-
* isPassword('a12345678');
|
|
21
|
-
* // => true
|
|
20
|
+
* isPassword('a12345678'); // true
|
|
22
21
|
*
|
|
23
|
-
*
|
|
24
|
-
* //
|
|
22
|
+
* // 3级密码强度
|
|
23
|
+
* isPassword('a12345678', {level: 3}); // false
|
|
24
|
+
* isPassword('Aa12345678', {level: 3}); // true
|
|
25
25
|
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
26
|
+
* // 3级密码强度,大小写字符仅计算1级强度
|
|
27
|
+
* isPassword('Aa12345678', {level: 3, ignoreCase: true}); // false
|
|
28
|
+
* isPassword('_Aa12345678', {level: 3, ignoreCase: true}); // true
|
|
28
29
|
*
|
|
29
|
-
*
|
|
30
|
-
* //
|
|
30
|
+
* // 仅支持 数字、字母、特殊字符,其他非法字符如中文字符是校验不通过的
|
|
31
|
+
* isPassword('_Aa一二三45678', {level: 3, ignoreCase: true}); // false
|
|
32
|
+
* isPassword(' _Aa12345678', {level: 3, ignoreCase: true}); // false
|
|
31
33
|
*
|
|
32
|
-
* isPassword('_Aa12345678', {level: 3, ignoreCase: true});
|
|
33
|
-
* // => true
|
|
34
|
-
*
|
|
35
|
-
* // 仅支持 数字、字母、特殊字符,其他字符如中文字符是校验不通过的
|
|
36
|
-
* isPassword('_Aa一二三45678', {level: 3, ignoreCase: true});
|
|
37
|
-
* // => false
|
|
38
|
-
*
|
|
39
|
-
* isPassword(' _Aa12345678', {level: 3, ignoreCase: true});
|
|
40
|
-
* // => false
|
|
41
34
|
*/
|
|
42
35
|
declare function isPassword(value: any, { level, ignoreCase, special }?: {
|
|
43
36
|
level?: number | undefined;
|
|
@@ -9,11 +9,8 @@ export default isPostcode;
|
|
|
9
9
|
* @returns {boolean} 值是否为邮政编码
|
|
10
10
|
* @example
|
|
11
11
|
*
|
|
12
|
-
* isPostcode('101111');
|
|
13
|
-
* //
|
|
14
|
-
*
|
|
15
|
-
* isPostcode('123');
|
|
16
|
-
* // => false
|
|
12
|
+
* isPostcode('101111'); // true
|
|
13
|
+
* isPostcode('123'); // false
|
|
17
14
|
*
|
|
18
15
|
*/
|
|
19
16
|
declare function isPostcode(value: any): boolean;
|
|
@@ -9,13 +9,9 @@ export default isPromiseLike;
|
|
|
9
9
|
* @returns {boolean} 是否类似Promise对象
|
|
10
10
|
* @example
|
|
11
11
|
*
|
|
12
|
-
* isPromiseLike([]);
|
|
13
|
-
* =>
|
|
12
|
+
* isPromiseLike([]); // false
|
|
13
|
+
* isPromiseLike({ then: () => { } }); // true
|
|
14
|
+
* isPromiseLike(Promise.resolve()); // true
|
|
14
15
|
*
|
|
15
|
-
* isPromiseLike({then:()=>{}});
|
|
16
|
-
* => true
|
|
17
|
-
*
|
|
18
|
-
* isPromiseLike(Promise.resolve());
|
|
19
|
-
* => true
|
|
20
16
|
*/
|
|
21
17
|
declare function isPromiseLike(obj: any): boolean;
|