util-helpers 4.12.0 → 4.12.1
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/dist/util-helpers.js +3 -0
- 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 +5 -3
- package/esm/utils/config.js +2 -1
- package/lib/index.js +6 -0
- package/lib/utils/config.js +3 -1
- package/package.json +3 -1
- package/types/src/blobToDataURL.d.ts +25 -0
- package/types/src/bytesToSize.d.ts +24 -0
- package/types/src/calculateCursorPosition.d.ts +26 -0
- package/types/src/dataURLToBlob.d.ts +15 -0
- package/types/src/divide.d.ts +21 -0
- package/types/src/formatBankCard.d.ts +35 -0
- package/types/src/formatMobile.d.ts +27 -0
- package/types/src/formatMoney.d.ts +50 -0
- package/types/src/index.d.ts +45 -0
- package/types/src/isBankCard.d.ts +32 -0
- package/types/src/isBusinessLicense.d.ts +29 -0
- package/types/src/isChinese.d.ts +41 -0
- package/types/src/isEmail.d.ts +19 -0
- package/types/src/isHMCard.d.ts +24 -0
- package/types/src/isIPv4.d.ts +25 -0
- package/types/src/isIPv6.d.ts +50 -0
- package/types/src/isIdCard.d.ts +34 -0
- package/types/src/isMobile.d.ts +19 -0
- package/types/src/isPassport.d.ts +21 -0
- package/types/src/isPassword.d.ts +46 -0
- package/types/src/isPostcode.d.ts +19 -0
- package/types/src/isPromiseLike.d.ts +21 -0
- package/types/src/isQQ.d.ts +19 -0
- package/types/src/isSocialCreditCode.d.ts +31 -0
- package/types/src/isSwiftCode.d.ts +22 -0
- package/types/src/isTWCard.d.ts +23 -0
- package/types/src/isTelephone.d.ts +25 -0
- package/types/src/isUrl.d.ts +34 -0
- package/types/src/isVehicle.d.ts +29 -0
- package/types/src/isWX.d.ts +19 -0
- package/types/src/minus.d.ts +21 -0
- package/types/src/normalizeString.d.ts +22 -0
- package/types/src/numberToChinese.d.ts +57 -0
- package/types/src/padZero.d.ts +24 -0
- package/types/src/parseIdCard.d.ts +107 -0
- package/types/src/plus.d.ts +21 -0
- package/types/src/randomString.d.ts +19 -0
- package/types/src/replaceChar.d.ts +54 -0
- package/types/src/round.d.ts +22 -0
- package/types/src/safeDate.d.ts +22 -0
- package/types/src/setDataURLPrefix.d.ts +24 -0
- package/types/src/strlen.d.ts +20 -0
- package/types/src/times.d.ts +21 -0
- package/types/src/utils/config.d.ts +13 -0
- package/types/src/utils/constants.d.ts +2 -0
- package/types/src/utils/convertToString.d.ts +8 -0
- package/types/src/utils/devWarn.d.ts +7 -0
- package/types/src/utils/math.util.d.ts +63 -0
- package/types/src/utils/type/index.d.ts +19 -0
- package/types/src/utils/type/isArguments.d.ts +18 -0
- package/types/src/utils/type/isArray.d.ts +18 -0
- package/types/src/utils/type/isBoolean.d.ts +18 -0
- package/types/src/utils/type/isDate.d.ts +18 -0
- package/types/src/utils/type/isError.d.ts +18 -0
- package/types/src/utils/type/isFunction.d.ts +18 -0
- package/types/src/utils/type/isMap.d.ts +18 -0
- package/types/src/utils/type/isNaN.d.ts +18 -0
- package/types/src/utils/type/isNil.d.ts +11 -0
- package/types/src/utils/type/isNull.d.ts +18 -0
- package/types/src/utils/type/isNumber.d.ts +27 -0
- package/types/src/utils/type/isObject.d.ts +21 -0
- package/types/src/utils/type/isRegExp.d.ts +18 -0
- package/types/src/utils/type/isSet.d.ts +18 -0
- package/types/src/utils/type/isString.d.ts +18 -0
- package/types/src/utils/type/isSymbol.d.ts +18 -0
- package/types/src/utils/type/isType.d.ts +11 -0
- package/types/src/utils/type/isUndefined.d.ts +21 -0
- package/types/src/utils/type/isWeakMap.d.ts +18 -0
- package/types/src/utils/type/isWeakSet.d.ts +18 -0
- package/types/src/validatePassword.d.ts +134 -0
- package/types/src/waitTime.d.ts +20 -0
package/esm/utils/config.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
var version = "4.12.1";
|
|
1
2
|
var config = {
|
|
2
3
|
// 禁用warning提示
|
|
3
4
|
disableWarning: true
|
|
@@ -14,4 +15,4 @@ function setDisableWarning(bool) {
|
|
|
14
15
|
config.disableWarning = !!bool;
|
|
15
16
|
}
|
|
16
17
|
|
|
17
|
-
export { config, setDisableWarning };
|
|
18
|
+
export { config, setDisableWarning, version };
|
package/lib/index.js
CHANGED
|
@@ -273,6 +273,12 @@ Object.defineProperty(exports, "setDisableWarning", {
|
|
|
273
273
|
return _config.setDisableWarning;
|
|
274
274
|
}
|
|
275
275
|
});
|
|
276
|
+
Object.defineProperty(exports, "version", {
|
|
277
|
+
enumerable: true,
|
|
278
|
+
get: function get() {
|
|
279
|
+
return _config.version;
|
|
280
|
+
}
|
|
281
|
+
});
|
|
276
282
|
|
|
277
283
|
var _isMobile = _interopRequireDefault(require("./isMobile"));
|
|
278
284
|
|
package/lib/utils/config.js
CHANGED
|
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.setDisableWarning = setDisableWarning;
|
|
7
|
-
exports.config = void 0;
|
|
7
|
+
exports.version = exports.config = void 0;
|
|
8
|
+
var version = "4.12.1";
|
|
9
|
+
exports.version = version;
|
|
8
10
|
var config = {
|
|
9
11
|
// 禁用warning提示
|
|
10
12
|
disableWarning: true
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "util-helpers",
|
|
3
|
-
"version": "4.12.
|
|
3
|
+
"version": "4.12.1",
|
|
4
4
|
"description": "一个基于业务场景的工具方法库",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -64,9 +64,11 @@
|
|
|
64
64
|
"@commitlint/config-conventional": "^11.0.0",
|
|
65
65
|
"@rollup/plugin-babel": "^5.3.1",
|
|
66
66
|
"@rollup/plugin-commonjs": "^19.0.0",
|
|
67
|
+
"@rollup/plugin-json": "^4.1.0",
|
|
67
68
|
"@rollup/plugin-node-resolve": "^13.0.0",
|
|
68
69
|
"@types/jest": "^26.0.23",
|
|
69
70
|
"babel-jest": "^27.0.2",
|
|
71
|
+
"babel-plugin-inline-json": "^2.1.0",
|
|
70
72
|
"cross-env": "^7.0.3",
|
|
71
73
|
"cz-conventional-changelog": "^3.3.0",
|
|
72
74
|
"docdash": "^1.2.0",
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export default blobToDataURL;
|
|
2
|
+
/**
|
|
3
|
+
* 将 Blob 或 File 对象转成 data:URL 格式的 Base64 字符串。
|
|
4
|
+
*
|
|
5
|
+
* @static
|
|
6
|
+
* @alias module:Processor.blobToDataURL
|
|
7
|
+
* @see 参考 {@link https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader/readAsDataURL|FileReader.readAsDataURL()}
|
|
8
|
+
* @since 4.1.0
|
|
9
|
+
* @param {Blob} blob Blob 或 File 对象
|
|
10
|
+
* @returns {Promise<string>} data:URL 格式的 Base64 字符串。
|
|
11
|
+
* @example
|
|
12
|
+
* const aFileParts = ['<a id="a"><b id="b">hey!</b></a>']; // 一个包含DOMString的数组
|
|
13
|
+
* const htmlBlob = new Blob(aFileParts, { type: 'text/html' }); // 得到 blob
|
|
14
|
+
*
|
|
15
|
+
* blobToDataURL(htmlBlob).then(data=>{
|
|
16
|
+
* console.log(data); // data:text/html;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
17
|
+
* });
|
|
18
|
+
*
|
|
19
|
+
* const textBlob = new Blob(aFileParts, { type: 'text/plain' });
|
|
20
|
+
*
|
|
21
|
+
* blobToDataURL(textBlob).then(data=>{
|
|
22
|
+
* console.log(data); // data:text/plain;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
23
|
+
* });
|
|
24
|
+
*/
|
|
25
|
+
declare function blobToDataURL(blob: Blob): Promise<string>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export default bytesToSize;
|
|
2
|
+
/**
|
|
3
|
+
* 字节转换存储单位,保留2位小数点
|
|
4
|
+
*
|
|
5
|
+
* @static
|
|
6
|
+
* @alias module:Processor.bytesToSize
|
|
7
|
+
* @since 3.8.0
|
|
8
|
+
* @param {number} bytes 字节大小
|
|
9
|
+
* @returns {string} 存储单位值
|
|
10
|
+
* @example
|
|
11
|
+
*
|
|
12
|
+
* bytesToSize(0);
|
|
13
|
+
* // => 0 B
|
|
14
|
+
*
|
|
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
|
+
*/
|
|
24
|
+
declare function bytesToSize(bytes: number): string;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export default calculateCursorPosition;
|
|
2
|
+
/**
|
|
3
|
+
* 计算输入框的值格式化后光标位置
|
|
4
|
+
*
|
|
5
|
+
* @static
|
|
6
|
+
* @alias module:Other.calculateCursorPosition
|
|
7
|
+
* @since 4.6.0
|
|
8
|
+
* @see 格式化手机号码 {@link https://doly-dev.github.io/util-helpers/module-Processor.html#.formatMobile|formatMobile}
|
|
9
|
+
* @see 格式化银行卡号 {@link https://doly-dev.github.io/util-helpers/module-Processor.html#.formatBankCard|formatBankCard}
|
|
10
|
+
* @see h5示例 {@link https://2950v9.csb.app/|点击查看}
|
|
11
|
+
* @see react示例 {@link https://33ccy9.csb.app/|点击查看}
|
|
12
|
+
* @param {number} prevPos 赋值前的光标位置,onChange/onInput的光标位置 e.target.selectionEnd
|
|
13
|
+
* @param {string} prevCtrlValue 上一个格式化后的值
|
|
14
|
+
* @param {string} rawValue 当前输入原值
|
|
15
|
+
* @param {string} ctrlValue 当前格式化后的值
|
|
16
|
+
* @param {Object} [options] 配置项
|
|
17
|
+
* @param {string[]|string} [options.placeholderChar=' '] 占位符
|
|
18
|
+
* @param {RegExp} [options.maskReg=/\D/g] 需要遮盖的字符规则。默认去掉非数字,意味着 ctrlValue 需要去掉非数字。
|
|
19
|
+
* @param {'mobile'|'bankCard'} [options.type] 格式化类型,内置手机号码和银行卡号特殊处理
|
|
20
|
+
* @returns {number} 格式化后的光标位置
|
|
21
|
+
*/
|
|
22
|
+
declare function calculateCursorPosition(prevPos: number, prevCtrlValue: string, rawValue: string, ctrlValue: string, { placeholderChar, maskReg, type }?: {
|
|
23
|
+
placeholderChar?: string | string[] | undefined;
|
|
24
|
+
maskReg?: RegExp | undefined;
|
|
25
|
+
type?: "mobile" | "bankCard" | undefined;
|
|
26
|
+
} | undefined): number;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export default dataURLToBlob;
|
|
2
|
+
/**
|
|
3
|
+
* 将 DataURL 转为 Blob 对象
|
|
4
|
+
*
|
|
5
|
+
* @static
|
|
6
|
+
* @alias module:Processor.dataURLToBlob
|
|
7
|
+
* @see 参考 {@link https://developer.mozilla.org/zh-CN/docs/Glossary/Base64|Base64}
|
|
8
|
+
* @since 4.1.0
|
|
9
|
+
* @param {string} dataurl data: 协议的URL
|
|
10
|
+
* @returns {Blob} Blob 对象
|
|
11
|
+
* @example
|
|
12
|
+
* const dataurl = 'data:text/html;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=';
|
|
13
|
+
* dataURLToBlob(dataurl);
|
|
14
|
+
*/
|
|
15
|
+
declare function dataURLToBlob(dataurl: string): Blob;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export default divide;
|
|
2
|
+
/**
|
|
3
|
+
* 精确除法,支持多个数相除
|
|
4
|
+
*
|
|
5
|
+
* @static
|
|
6
|
+
* @alias module:Math.divide
|
|
7
|
+
* @since 3.1.0
|
|
8
|
+
* @param {...number|string} nums 除数和被除数
|
|
9
|
+
* @returns {number} 商数
|
|
10
|
+
* @example
|
|
11
|
+
*
|
|
12
|
+
* divide(1.21, 1.1);
|
|
13
|
+
* // => 1.1
|
|
14
|
+
*
|
|
15
|
+
* divide(1000, 10, 10);
|
|
16
|
+
* // => 10
|
|
17
|
+
*
|
|
18
|
+
* divide(1000, 10, 10, 10);
|
|
19
|
+
* // => 1
|
|
20
|
+
*/
|
|
21
|
+
declare function divide(...nums: (number | string)[]): number;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export default formatBankCard;
|
|
2
|
+
/**
|
|
3
|
+
* 格式化银行卡号
|
|
4
|
+
*
|
|
5
|
+
* @static
|
|
6
|
+
* @alias module:Processor.formatBankCard
|
|
7
|
+
* @since 1.1.0
|
|
8
|
+
* @param {string} bankCardNo 要处理的字符串
|
|
9
|
+
* @param {Object} [options] 配置项
|
|
10
|
+
* @param {string} [options.char=" "] 间隔字符
|
|
11
|
+
* @param {number} [options.length=4] 间隔长度
|
|
12
|
+
* @returns {string} 格式化的银行卡号
|
|
13
|
+
* @example
|
|
14
|
+
*
|
|
15
|
+
* // 19位银行卡
|
|
16
|
+
* formatBankCard('6228480402564890018');
|
|
17
|
+
* // => 6228 4804 0256 4890 018
|
|
18
|
+
*
|
|
19
|
+
* // 16位银行卡
|
|
20
|
+
* formatBankCard('6228480402564890');
|
|
21
|
+
* // => 6228 4804 0256 4890
|
|
22
|
+
*
|
|
23
|
+
* // 脱敏银行卡
|
|
24
|
+
* formatBankCard('6228********890');
|
|
25
|
+
* // => 6228 **** **** 890
|
|
26
|
+
*
|
|
27
|
+
* // 16位银行卡,"-"间隔
|
|
28
|
+
* formatBankCard('6228480402564890', {char: '-'});
|
|
29
|
+
* // => 6228-4804-0256-4890
|
|
30
|
+
*
|
|
31
|
+
*/
|
|
32
|
+
declare function formatBankCard(bankCardNo?: string, { char, length }?: {
|
|
33
|
+
char?: string | undefined;
|
|
34
|
+
length?: number | undefined;
|
|
35
|
+
} | undefined): string;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export default formatMobile;
|
|
2
|
+
/**
|
|
3
|
+
* 格式化手机号码
|
|
4
|
+
*
|
|
5
|
+
* @static
|
|
6
|
+
* @alias module:Processor.formatMobile
|
|
7
|
+
* @since 4.5.0
|
|
8
|
+
* @param {string} mobileNo 手机号码
|
|
9
|
+
* @param {object} [options] 配置项
|
|
10
|
+
* @param {string} [options.char=' '] 间隔字符
|
|
11
|
+
* @returns {string} 格式化后的手机号码
|
|
12
|
+
* @example
|
|
13
|
+
* formatMobile('13345678900') // '133 4567 8900'
|
|
14
|
+
* formatMobile('13345678900', { char: '-' }) // '133-4567-8900'
|
|
15
|
+
*
|
|
16
|
+
* // 脱敏手机号码
|
|
17
|
+
* formatMobile('133****1234') // '133 **** 1234'
|
|
18
|
+
* formatMobile('133****1234', { char: '-' }) // '133-****-1234'
|
|
19
|
+
*
|
|
20
|
+
* // 手机号码位数不够
|
|
21
|
+
* formatMobile('133') // '133'
|
|
22
|
+
* formatMobile('133456') // '133 456'
|
|
23
|
+
* formatMobile('13345678') // '133 4567 8'
|
|
24
|
+
*/
|
|
25
|
+
declare function formatMobile(mobileNo: string, { char }?: {
|
|
26
|
+
char?: string | undefined;
|
|
27
|
+
} | undefined): string;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export default formatMoney;
|
|
2
|
+
/**
|
|
3
|
+
* 格式化金额
|
|
4
|
+
*
|
|
5
|
+
* @static
|
|
6
|
+
* @alias module:Processor.formatMoney
|
|
7
|
+
* @since 1.1.0
|
|
8
|
+
* @param {string | number} num 需转换金额 (最大:9007199254740991 最小: -9007199254740991)
|
|
9
|
+
* @param {Object} [options] - 金额格式化配置
|
|
10
|
+
* @param {string | number} [options.precision=2] - 保留位数 (最高:10位)
|
|
11
|
+
* @param {string} [options.symbol] - 货币符号
|
|
12
|
+
* @param {string} [options.thousand=","] - 千分位符号
|
|
13
|
+
* @param {string} [options.decimal="."] - 小数位符号
|
|
14
|
+
* @returns {string} 格式化的金额
|
|
15
|
+
* @example
|
|
16
|
+
*
|
|
17
|
+
* // 整数
|
|
18
|
+
* formatMoney('1000');
|
|
19
|
+
* // => 1,000.00
|
|
20
|
+
*
|
|
21
|
+
* // 小数(默认保留2位小数)
|
|
22
|
+
* formatMoney('3000.03');
|
|
23
|
+
* // => 3,000.03
|
|
24
|
+
*
|
|
25
|
+
* // 保留4位小数
|
|
26
|
+
* formatMoney('3000.0300', { precision: 4 });
|
|
27
|
+
* // => 3,000.0300
|
|
28
|
+
*
|
|
29
|
+
* // 保留10位小数
|
|
30
|
+
* formatMoney('1500.2', { precision: 10 });
|
|
31
|
+
* // => 1,500.2000000000
|
|
32
|
+
*
|
|
33
|
+
* // 自定义单位符号
|
|
34
|
+
* formatMoney(1000.00, { symbol: '$' });
|
|
35
|
+
* // => $1,000.00
|
|
36
|
+
*
|
|
37
|
+
* // 自定义千位分割符(默认',')
|
|
38
|
+
* formatMoney(1000.00, { thousand: '|' });
|
|
39
|
+
* // => 1|000.00
|
|
40
|
+
*
|
|
41
|
+
* // 自定义小数位分割符(默认'.')
|
|
42
|
+
* formatMoney(1000.00, { decimal: '&' });
|
|
43
|
+
* // => 1,000&00
|
|
44
|
+
*/
|
|
45
|
+
declare function formatMoney(num: string | number, { precision, symbol, thousand, decimal }?: {
|
|
46
|
+
precision?: string | number | undefined;
|
|
47
|
+
symbol?: string | undefined;
|
|
48
|
+
thousand?: string | undefined;
|
|
49
|
+
decimal?: string | undefined;
|
|
50
|
+
} | undefined): string;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export { default as isMobile } from "./isMobile";
|
|
2
|
+
export { default as isTelephone } from "./isTelephone";
|
|
3
|
+
export { default as isPostcode } from "./isPostcode";
|
|
4
|
+
export { default as isIdCard } from "./isIdCard";
|
|
5
|
+
export { default as isEmail } from "./isEmail";
|
|
6
|
+
export { default as isQQ } from "./isQQ";
|
|
7
|
+
export { default as isWX } from "./isWX";
|
|
8
|
+
export { default as isVehicle } from "./isVehicle";
|
|
9
|
+
export { default as isBankCard } from "./isBankCard";
|
|
10
|
+
export { default as isSocialCreditCode } from "./isSocialCreditCode";
|
|
11
|
+
export { default as isPassword } from "./isPassword";
|
|
12
|
+
export { default as isPassport } from "./isPassport";
|
|
13
|
+
export { default as isChinese } from "./isChinese";
|
|
14
|
+
export { default as isIPv4 } from "./isIPv4";
|
|
15
|
+
export { default as isIPv6 } from "./isIPv6";
|
|
16
|
+
export { default as isUrl } from "./isUrl";
|
|
17
|
+
export { default as isBusinessLicense } from "./isBusinessLicense";
|
|
18
|
+
export { default as validatePassword } from "./validatePassword";
|
|
19
|
+
export { default as isPromiseLike } from "./isPromiseLike";
|
|
20
|
+
export { default as isHMCard } from "./isHMCard";
|
|
21
|
+
export { default as isTWCard } from "./isTWCard";
|
|
22
|
+
export { default as isSwiftCode } from "./isSwiftCode";
|
|
23
|
+
export { default as formatMoney } from "./formatMoney";
|
|
24
|
+
export { default as formatBankCard } from "./formatBankCard";
|
|
25
|
+
export { default as replaceChar } from "./replaceChar";
|
|
26
|
+
export { default as numberToChinese } from "./numberToChinese";
|
|
27
|
+
export { default as bytesToSize } from "./bytesToSize";
|
|
28
|
+
export { default as parseIdCard } from "./parseIdCard";
|
|
29
|
+
export { default as blobToDataURL } from "./blobToDataURL";
|
|
30
|
+
export { default as dataURLToBlob } from "./dataURLToBlob";
|
|
31
|
+
export { default as setDataURLPrefix } from "./setDataURLPrefix";
|
|
32
|
+
export { default as normalizeString } from "./normalizeString";
|
|
33
|
+
export { default as safeDate } from "./safeDate";
|
|
34
|
+
export { default as formatMobile } from "./formatMobile";
|
|
35
|
+
export { default as padZero } from "./padZero";
|
|
36
|
+
export { default as plus } from "./plus";
|
|
37
|
+
export { default as minus } from "./minus";
|
|
38
|
+
export { default as times } from "./times";
|
|
39
|
+
export { default as divide } from "./divide";
|
|
40
|
+
export { default as round } from "./round";
|
|
41
|
+
export { default as waitTime } from "./waitTime";
|
|
42
|
+
export { default as calculateCursorPosition } from "./calculateCursorPosition";
|
|
43
|
+
export { default as randomString } from "./randomString";
|
|
44
|
+
export { default as strlen } from "./strlen";
|
|
45
|
+
export { setDisableWarning, version } from "./utils/config";
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export default isBankCard;
|
|
2
|
+
/**
|
|
3
|
+
* 检测值是否为银行卡号。正常模式(非0开头,10~21位数字)宽松模式(8~30位数字)
|
|
4
|
+
*
|
|
5
|
+
* @static
|
|
6
|
+
* @alias module:Validator.isBankCard
|
|
7
|
+
* @see 参考 {@link https://kf.qq.com/faq/170112ABnm6b170112FvquAn.html|常用银行账号位数参考}
|
|
8
|
+
* @since 1.1.0
|
|
9
|
+
* @param {*} value 要检测的值
|
|
10
|
+
* @param {Object} [options] 配置项
|
|
11
|
+
* @param {boolean} [options.loose=false] 宽松模式,8~30位数字
|
|
12
|
+
* @param {boolean} [options.luhn=false] 使用 Luhn 算法校验校验码
|
|
13
|
+
* @returns {boolean} 值是否为银行卡号
|
|
14
|
+
* @example
|
|
15
|
+
*
|
|
16
|
+
* isBankCard('6228480402564890018');
|
|
17
|
+
* // => true
|
|
18
|
+
*
|
|
19
|
+
* isBankCard('6228480402564890');
|
|
20
|
+
* // => true
|
|
21
|
+
*
|
|
22
|
+
* isBankCard('123456789');
|
|
23
|
+
* // => false
|
|
24
|
+
*
|
|
25
|
+
* isBankCard('123456789', { loose: true });
|
|
26
|
+
* // => true
|
|
27
|
+
*
|
|
28
|
+
*/
|
|
29
|
+
declare function isBankCard(value: any, { loose, luhn }?: {
|
|
30
|
+
loose?: boolean | undefined;
|
|
31
|
+
luhn?: boolean | undefined;
|
|
32
|
+
} | undefined): boolean;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export default isBusinessLicense;
|
|
2
|
+
/**
|
|
3
|
+
* 检测值是否为营业执照号,也叫工商注册号。由14位数字本体码和1位数字校验码组成,其中本体码从左至右依次为:6位首次登记机关码、8位顺序码。
|
|
4
|
+
*
|
|
5
|
+
* @static
|
|
6
|
+
* @alias module:Validator.isBusinessLicense
|
|
7
|
+
* @see 参考 {@link https://wenku.baidu.com/view/19873704cc1755270722087c.html|GS15—2006 工商行政管理市场主体注册号编制规则}
|
|
8
|
+
* @since 3.5.0
|
|
9
|
+
* @param {*} value 要检测的值
|
|
10
|
+
* @param {Object} [options] 配置项
|
|
11
|
+
* @param {boolean} [options.checkCode=true] 是否校验最后一位校验码,如果为false,不校验校验位。
|
|
12
|
+
* @returns {boolean} 值是否为营业执照号
|
|
13
|
+
* @example
|
|
14
|
+
*
|
|
15
|
+
* isBusinessLicense('310115600985533');
|
|
16
|
+
* // => true
|
|
17
|
+
*
|
|
18
|
+
* isBusinessLicense('310115600985535');
|
|
19
|
+
* // => false
|
|
20
|
+
*
|
|
21
|
+
* isBusinessLicense('310115600985535', { checkCode: false });
|
|
22
|
+
* // => true
|
|
23
|
+
*
|
|
24
|
+
* isBusinessLicense('31011560098', { checkCode: false });
|
|
25
|
+
* // => false
|
|
26
|
+
*/
|
|
27
|
+
declare function isBusinessLicense(value: any, options?: {
|
|
28
|
+
checkCode?: boolean | undefined;
|
|
29
|
+
} | undefined): boolean;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export default isChinese;
|
|
2
|
+
/**
|
|
3
|
+
* 检测值是否为中文
|
|
4
|
+
*
|
|
5
|
+
* @static
|
|
6
|
+
* @alias module:Validator.isChinese
|
|
7
|
+
* @since 1.1.0
|
|
8
|
+
* @see 参考 {@link http://www.unicode.org/reports/tr38/#BlockListing|4.4 Listing of Characters Covered by the Unihan Database}
|
|
9
|
+
* @param {*} value 要检测的值
|
|
10
|
+
* @param {Object} [options] 配置项
|
|
11
|
+
* @param {boolean} [options.loose=false] 宽松模式。如果为true,只要包含中文即为true
|
|
12
|
+
* @param {boolean} [options.useExtend=false] 使用统一表意文字扩展A-F。注意:如果不支持 `RegExp.prototype.unicode`,扩展字符集将自动不生效,如IE浏览器。
|
|
13
|
+
* @returns {boolean} 值是否为中文
|
|
14
|
+
* @example
|
|
15
|
+
*
|
|
16
|
+
* isChinese('林某某');
|
|
17
|
+
* // => true
|
|
18
|
+
*
|
|
19
|
+
* isChinese('林A');
|
|
20
|
+
* // => false
|
|
21
|
+
*
|
|
22
|
+
* // 宽松模式,只要包含中文即为true
|
|
23
|
+
* isChinese('林A', { loose: true });
|
|
24
|
+
* // => true
|
|
25
|
+
*
|
|
26
|
+
* isChinese('A林A', { loose: true });
|
|
27
|
+
* // => true
|
|
28
|
+
*
|
|
29
|
+
* isChinese('𠮷');
|
|
30
|
+
* // => false
|
|
31
|
+
*
|
|
32
|
+
* // 使用中文扩展字符集,需要浏览器支持 RegExp.prototype.unicode 才生效。
|
|
33
|
+
* isChinese('𠮷', { useExtend: true });
|
|
34
|
+
* // => true
|
|
35
|
+
* isChinese('𠮷aa', { useExtend: true, loose: true });
|
|
36
|
+
* // => true
|
|
37
|
+
*/
|
|
38
|
+
declare function isChinese(value: any, { loose, useExtend }?: {
|
|
39
|
+
loose?: boolean | undefined;
|
|
40
|
+
useExtend?: boolean | undefined;
|
|
41
|
+
} | undefined): boolean;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export default isEmail;
|
|
2
|
+
/**
|
|
3
|
+
* 检测值是否为Email
|
|
4
|
+
*
|
|
5
|
+
* @static
|
|
6
|
+
* @alias module:Validator.isEmail
|
|
7
|
+
* @since 1.1.0
|
|
8
|
+
* @param {*} value 要检测的值
|
|
9
|
+
* @returns {boolean} 值是否为Email
|
|
10
|
+
* @example
|
|
11
|
+
*
|
|
12
|
+
* isEmail('1232@qq.com');
|
|
13
|
+
* // => true
|
|
14
|
+
*
|
|
15
|
+
* isEmail('123@');
|
|
16
|
+
* // => false
|
|
17
|
+
*
|
|
18
|
+
*/
|
|
19
|
+
declare function isEmail(value: any): boolean;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export default isHMCard;
|
|
2
|
+
/**
|
|
3
|
+
* 检测值是否为港澳居民来往内地通行证,俗称回乡证或回乡卡。
|
|
4
|
+
*
|
|
5
|
+
* @static
|
|
6
|
+
* @alias module:Validator.isHMCard
|
|
7
|
+
* @since 4.0.0
|
|
8
|
+
* @see 参考 {@link https://zh.wikipedia.org/wiki/港澳居民来往内地通行证|港澳居民来往内地通行证}
|
|
9
|
+
* @param {*} value 要检测的值
|
|
10
|
+
* @returns {boolean} 是否为港澳居民来往内地通行证
|
|
11
|
+
* @example
|
|
12
|
+
* // 第一代 11 位
|
|
13
|
+
* isHMCard('h3203117707') // true
|
|
14
|
+
* isHMCard('H3203117707') // true
|
|
15
|
+
* isHMCard('m3203117707') // true
|
|
16
|
+
* isHMCard('M3203117707') // true
|
|
17
|
+
*
|
|
18
|
+
* // 第二代 9 位
|
|
19
|
+
* isHMCard('h32031177') // true
|
|
20
|
+
* isHMCard('H32031177') // true
|
|
21
|
+
* isHMCard('m32031177') // true
|
|
22
|
+
* isHMCard('M32031177') // true
|
|
23
|
+
*/
|
|
24
|
+
declare function isHMCard(value: any): boolean;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export default isIPv4;
|
|
2
|
+
/**
|
|
3
|
+
* 检测值是否为ipv4
|
|
4
|
+
*
|
|
5
|
+
* @static
|
|
6
|
+
* @alias module:Validator.isIPv4
|
|
7
|
+
* @since 1.1.0
|
|
8
|
+
* @param {*} value 要检测的值
|
|
9
|
+
* @returns {boolean} 值是否为ipv4
|
|
10
|
+
* @example
|
|
11
|
+
*
|
|
12
|
+
* isIPv4('192.168.1.1');
|
|
13
|
+
* // => true
|
|
14
|
+
*
|
|
15
|
+
* isIPv4('255.255.255.255');
|
|
16
|
+
* // => true
|
|
17
|
+
*
|
|
18
|
+
* isIPv4('256.256.256.256');
|
|
19
|
+
* // => false
|
|
20
|
+
*
|
|
21
|
+
* isIPv4('0.0');
|
|
22
|
+
* // => false
|
|
23
|
+
*
|
|
24
|
+
*/
|
|
25
|
+
declare function isIPv4(value: any): boolean;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export default isIPv6;
|
|
2
|
+
/**
|
|
3
|
+
* 检测值是否为ipv6
|
|
4
|
+
*
|
|
5
|
+
* @static
|
|
6
|
+
* @alias module:Validator.isIPv6
|
|
7
|
+
* @since 1.1.0
|
|
8
|
+
* @param {*} value 要检测的值
|
|
9
|
+
* @returns {boolean} 值是否为ipv6
|
|
10
|
+
* @example
|
|
11
|
+
*
|
|
12
|
+
* // 冒分十六进制表示法
|
|
13
|
+
* isIPv6('2001:0DB8:0000:0023:0008:0800:200C:417A');
|
|
14
|
+
* // => true
|
|
15
|
+
*
|
|
16
|
+
* // 前导0省略
|
|
17
|
+
* isIPv6('2001:DB8:0:23:8:800:200C:417A');
|
|
18
|
+
* // => true
|
|
19
|
+
*
|
|
20
|
+
* isIPv6('FF01:0:0:0:0:0:0:1101');
|
|
21
|
+
* // => true
|
|
22
|
+
*
|
|
23
|
+
* // 0位压缩表示法
|
|
24
|
+
* isIPv6('FF01::1101');
|
|
25
|
+
* // => true
|
|
26
|
+
*
|
|
27
|
+
* isIPv6('::1');
|
|
28
|
+
* // => true
|
|
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
|
|
38
|
+
*
|
|
39
|
+
* // 内嵌IPv4地址表示法
|
|
40
|
+
* isIPv6('::192.168.1.1');
|
|
41
|
+
* // => true
|
|
42
|
+
*
|
|
43
|
+
* isIPv6('::FFFF:192.168.1.1');
|
|
44
|
+
* // => true
|
|
45
|
+
*
|
|
46
|
+
* isIPv6('192.168.1.1');
|
|
47
|
+
* // => false
|
|
48
|
+
*
|
|
49
|
+
*/
|
|
50
|
+
declare function isIPv6(value: any): boolean;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export default isIdCard;
|
|
2
|
+
/**
|
|
3
|
+
* 检测值是否为18位身份证号码。<br/>宽松模式下,支持15位身份证号码
|
|
4
|
+
*
|
|
5
|
+
* @static
|
|
6
|
+
* @alias module:Validator.isIdCard
|
|
7
|
+
* @since 1.1.0
|
|
8
|
+
* @param {*} value 要检测的值
|
|
9
|
+
* @param {Object} [options] 配置项
|
|
10
|
+
* @param {boolean} [options.loose=false] 宽松模式,支持15位身份证号码
|
|
11
|
+
* @param {boolean} [options.checkCode=true] 是否校验最后一位校验码,仅支持18位身份证号码
|
|
12
|
+
* @returns {boolean} 值是否为身份证号
|
|
13
|
+
* @example
|
|
14
|
+
*
|
|
15
|
+
* isIdCard('130701199310302288');
|
|
16
|
+
* // => true
|
|
17
|
+
*
|
|
18
|
+
* isIdCard('13070119931030228X');
|
|
19
|
+
* // => false
|
|
20
|
+
*
|
|
21
|
+
* isIdCard('13070119931030228X', { checkCode: false }); // 不校验校验码
|
|
22
|
+
* // => true
|
|
23
|
+
*
|
|
24
|
+
* isIdCard('320311770706001');
|
|
25
|
+
* // => false
|
|
26
|
+
*
|
|
27
|
+
* isIdCard('320311770706001', { loose: true });
|
|
28
|
+
* // => true
|
|
29
|
+
*
|
|
30
|
+
*/
|
|
31
|
+
declare function isIdCard(value: any, { loose, checkCode }?: {
|
|
32
|
+
loose?: boolean | undefined;
|
|
33
|
+
checkCode?: boolean | undefined;
|
|
34
|
+
} | undefined): boolean;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export default isMobile;
|
|
2
|
+
/**
|
|
3
|
+
* 检测值是否为手机号码
|
|
4
|
+
*
|
|
5
|
+
* @static
|
|
6
|
+
* @alias module:Validator.isMobile
|
|
7
|
+
* @since 1.1.0
|
|
8
|
+
* @param {*} value 要检测的值
|
|
9
|
+
* @returns {boolean} 值是否为手机号码
|
|
10
|
+
* @example
|
|
11
|
+
*
|
|
12
|
+
* isMobile('13000000000');
|
|
13
|
+
* // => true
|
|
14
|
+
*
|
|
15
|
+
* isMobile('13000');
|
|
16
|
+
* // => false
|
|
17
|
+
*
|
|
18
|
+
*/
|
|
19
|
+
declare function isMobile(value: any): boolean;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export default isPassport;
|
|
2
|
+
/**
|
|
3
|
+
* 检测值是否为护照号
|
|
4
|
+
* 支持普通护照(E*)、外交护照(DE)、公务护照(SE)、公务普通护照(PE)、香港特区护照(K/KJ/H*)、澳门特区护照(MA/MB/M*),注意不区分大小写
|
|
5
|
+
*
|
|
6
|
+
* @static
|
|
7
|
+
* @alias module:Validator.isPassport
|
|
8
|
+
* @see 参考 {@link https://zh.wikipedia.org/wiki/中华人民共和国护照#个人资料页|中华人民共和国护照#个人资料页}
|
|
9
|
+
* @since 1.1.0
|
|
10
|
+
* @param {*} value 要检测的值
|
|
11
|
+
* @returns {boolean} 值是否为护照号
|
|
12
|
+
* @example
|
|
13
|
+
*
|
|
14
|
+
* isPassport('E12345678');
|
|
15
|
+
* // => true
|
|
16
|
+
*
|
|
17
|
+
* isPassport('abc');
|
|
18
|
+
* // => false
|
|
19
|
+
*
|
|
20
|
+
*/
|
|
21
|
+
declare function isPassport(value: any): boolean;
|