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.
Files changed (80) hide show
  1. package/dist/util-helpers.js +3 -0
  2. package/dist/util-helpers.js.map +1 -1
  3. package/dist/util-helpers.min.js +1 -1
  4. package/dist/util-helpers.min.js.map +1 -1
  5. package/esm/index.js +5 -3
  6. package/esm/utils/config.js +2 -1
  7. package/lib/index.js +6 -0
  8. package/lib/utils/config.js +3 -1
  9. package/package.json +3 -1
  10. package/types/src/blobToDataURL.d.ts +25 -0
  11. package/types/src/bytesToSize.d.ts +24 -0
  12. package/types/src/calculateCursorPosition.d.ts +26 -0
  13. package/types/src/dataURLToBlob.d.ts +15 -0
  14. package/types/src/divide.d.ts +21 -0
  15. package/types/src/formatBankCard.d.ts +35 -0
  16. package/types/src/formatMobile.d.ts +27 -0
  17. package/types/src/formatMoney.d.ts +50 -0
  18. package/types/src/index.d.ts +45 -0
  19. package/types/src/isBankCard.d.ts +32 -0
  20. package/types/src/isBusinessLicense.d.ts +29 -0
  21. package/types/src/isChinese.d.ts +41 -0
  22. package/types/src/isEmail.d.ts +19 -0
  23. package/types/src/isHMCard.d.ts +24 -0
  24. package/types/src/isIPv4.d.ts +25 -0
  25. package/types/src/isIPv6.d.ts +50 -0
  26. package/types/src/isIdCard.d.ts +34 -0
  27. package/types/src/isMobile.d.ts +19 -0
  28. package/types/src/isPassport.d.ts +21 -0
  29. package/types/src/isPassword.d.ts +46 -0
  30. package/types/src/isPostcode.d.ts +19 -0
  31. package/types/src/isPromiseLike.d.ts +21 -0
  32. package/types/src/isQQ.d.ts +19 -0
  33. package/types/src/isSocialCreditCode.d.ts +31 -0
  34. package/types/src/isSwiftCode.d.ts +22 -0
  35. package/types/src/isTWCard.d.ts +23 -0
  36. package/types/src/isTelephone.d.ts +25 -0
  37. package/types/src/isUrl.d.ts +34 -0
  38. package/types/src/isVehicle.d.ts +29 -0
  39. package/types/src/isWX.d.ts +19 -0
  40. package/types/src/minus.d.ts +21 -0
  41. package/types/src/normalizeString.d.ts +22 -0
  42. package/types/src/numberToChinese.d.ts +57 -0
  43. package/types/src/padZero.d.ts +24 -0
  44. package/types/src/parseIdCard.d.ts +107 -0
  45. package/types/src/plus.d.ts +21 -0
  46. package/types/src/randomString.d.ts +19 -0
  47. package/types/src/replaceChar.d.ts +54 -0
  48. package/types/src/round.d.ts +22 -0
  49. package/types/src/safeDate.d.ts +22 -0
  50. package/types/src/setDataURLPrefix.d.ts +24 -0
  51. package/types/src/strlen.d.ts +20 -0
  52. package/types/src/times.d.ts +21 -0
  53. package/types/src/utils/config.d.ts +13 -0
  54. package/types/src/utils/constants.d.ts +2 -0
  55. package/types/src/utils/convertToString.d.ts +8 -0
  56. package/types/src/utils/devWarn.d.ts +7 -0
  57. package/types/src/utils/math.util.d.ts +63 -0
  58. package/types/src/utils/type/index.d.ts +19 -0
  59. package/types/src/utils/type/isArguments.d.ts +18 -0
  60. package/types/src/utils/type/isArray.d.ts +18 -0
  61. package/types/src/utils/type/isBoolean.d.ts +18 -0
  62. package/types/src/utils/type/isDate.d.ts +18 -0
  63. package/types/src/utils/type/isError.d.ts +18 -0
  64. package/types/src/utils/type/isFunction.d.ts +18 -0
  65. package/types/src/utils/type/isMap.d.ts +18 -0
  66. package/types/src/utils/type/isNaN.d.ts +18 -0
  67. package/types/src/utils/type/isNil.d.ts +11 -0
  68. package/types/src/utils/type/isNull.d.ts +18 -0
  69. package/types/src/utils/type/isNumber.d.ts +27 -0
  70. package/types/src/utils/type/isObject.d.ts +21 -0
  71. package/types/src/utils/type/isRegExp.d.ts +18 -0
  72. package/types/src/utils/type/isSet.d.ts +18 -0
  73. package/types/src/utils/type/isString.d.ts +18 -0
  74. package/types/src/utils/type/isSymbol.d.ts +18 -0
  75. package/types/src/utils/type/isType.d.ts +11 -0
  76. package/types/src/utils/type/isUndefined.d.ts +21 -0
  77. package/types/src/utils/type/isWeakMap.d.ts +18 -0
  78. package/types/src/utils/type/isWeakSet.d.ts +18 -0
  79. package/types/src/validatePassword.d.ts +134 -0
  80. package/types/src/waitTime.d.ts +20 -0
@@ -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
 
@@ -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.0",
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;