util-helpers 4.12.9 → 4.13.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 +8 -1
- package/dist/util-helpers.js +133 -115
- 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/calculateCursorPosition.js +6 -7
- package/esm/formatBankCard.js +5 -5
- package/esm/formatMobile.js +4 -3
- package/esm/formatMoney.js +9 -10
- package/esm/isBankCard.js +5 -6
- package/esm/isChinese.js +7 -6
- package/esm/isIdCard.js +5 -6
- package/esm/isPassword.js +7 -8
- package/esm/isTWCard.js +3 -4
- package/esm/isUrl.js +28 -6
- package/esm/numberToChinese.js +14 -15
- package/esm/replaceChar.js +10 -9
- package/esm/utils/config.js +1 -1
- package/esm/validatePassword.js +7 -8
- package/lib/calculateCursorPosition.js +6 -7
- package/lib/formatBankCard.js +5 -5
- package/lib/formatMobile.js +4 -3
- package/lib/formatMoney.js +9 -10
- package/lib/isBankCard.js +5 -6
- package/lib/isChinese.js +7 -6
- package/lib/isIdCard.js +5 -6
- package/lib/isPassword.js +7 -8
- package/lib/isTWCard.js +3 -4
- package/lib/isUrl.js +28 -6
- package/lib/numberToChinese.js +14 -15
- package/lib/replaceChar.js +10 -9
- package/lib/utils/config.js +1 -1
- package/lib/validatePassword.js +7 -8
- package/package.json +1 -1
- package/types/calculateCursorPosition.d.ts +1 -1
- package/types/formatBankCard.d.ts +1 -1
- package/types/formatMobile.d.ts +1 -1
- package/types/formatMoney.d.ts +1 -1
- package/types/isBankCard.d.ts +1 -1
- package/types/isChinese.d.ts +3 -1
- package/types/isIdCard.d.ts +1 -1
- package/types/isPassword.d.ts +1 -1
- package/types/isTWCard.d.ts +1 -1
- package/types/isUrl.d.ts +12 -3
- package/types/numberToChinese.d.ts +1 -1
- package/types/replaceChar.d.ts +1 -1
- package/types/validatePassword.d.ts +1 -1
package/esm/formatBankCard.js
CHANGED
|
@@ -28,12 +28,12 @@ import normalizeString from './normalizeString';
|
|
|
28
28
|
|
|
29
29
|
function formatBankCard() {
|
|
30
30
|
var bankCardNo = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
31
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
31
32
|
|
|
32
|
-
var
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
length = _ref$length === void 0 ? 4 : _ref$length;
|
|
33
|
+
var _options$char = options["char"],
|
|
34
|
+
_char = _options$char === void 0 ? ' ' : _options$char,
|
|
35
|
+
_options$length = options.length,
|
|
36
|
+
length = _options$length === void 0 ? 4 : _options$length;
|
|
37
37
|
|
|
38
38
|
var reg = new RegExp("(.{".concat(length, "})"), 'g');
|
|
39
39
|
var regChar = new RegExp("".concat(_char), 'g');
|
package/esm/formatMobile.js
CHANGED
|
@@ -26,9 +26,10 @@ import normalizeString from './normalizeString';
|
|
|
26
26
|
*/
|
|
27
27
|
|
|
28
28
|
function formatMobile(mobileNo) {
|
|
29
|
-
var
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
30
|
+
|
|
31
|
+
var _options$char = options["char"],
|
|
32
|
+
_char = _options$char === void 0 ? ' ' : _options$char;
|
|
32
33
|
|
|
33
34
|
var regChar = new RegExp(_char, 'g');
|
|
34
35
|
var realValue = normalizeString(mobileNo).replace(regChar, '').substring(0, 11);
|
package/esm/formatMoney.js
CHANGED
|
@@ -118,17 +118,16 @@ function formatDec(decStr, precision, decimal) {
|
|
|
118
118
|
|
|
119
119
|
|
|
120
120
|
var formatMoney = function formatMoney(num) {
|
|
121
|
-
var
|
|
122
|
-
|
|
123
|
-
precision =
|
|
124
|
-
symbol =
|
|
125
|
-
|
|
126
|
-
thousand =
|
|
127
|
-
|
|
128
|
-
decimal =
|
|
129
|
-
|
|
130
|
-
// 数字参数不正确,返回空字符串
|
|
121
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
122
|
+
var _options$precision = options.precision,
|
|
123
|
+
precision = _options$precision === void 0 ? 2 : _options$precision,
|
|
124
|
+
symbol = options.symbol,
|
|
125
|
+
_options$thousand = options.thousand,
|
|
126
|
+
thousand = _options$thousand === void 0 ? ',' : _options$thousand,
|
|
127
|
+
_options$decimal = options.decimal,
|
|
128
|
+
decimal = _options$decimal === void 0 ? '.' : _options$decimal; // 数字参数不正确,返回空字符串
|
|
131
129
|
// @ts-ignore
|
|
130
|
+
|
|
132
131
|
if (!checkNumber(num)) {
|
|
133
132
|
return '';
|
|
134
133
|
} // 参数规整化
|
package/esm/isBankCard.js
CHANGED
|
@@ -47,12 +47,11 @@ function sumCheckCode(numStr) {
|
|
|
47
47
|
|
|
48
48
|
|
|
49
49
|
function isBankCard(value) {
|
|
50
|
-
var
|
|
51
|
-
|
|
52
|
-
loose =
|
|
53
|
-
|
|
54
|
-
luhn =
|
|
55
|
-
|
|
50
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
51
|
+
var _options$loose = options.loose,
|
|
52
|
+
loose = _options$loose === void 0 ? false : _options$loose,
|
|
53
|
+
_options$luhn = options.luhn,
|
|
54
|
+
luhn = _options$luhn === void 0 ? false : _options$luhn;
|
|
56
55
|
var valueStr = normalizeString(value);
|
|
57
56
|
var validateResult = loose ? regLoose.test(valueStr) : reg.test(valueStr);
|
|
58
57
|
|
package/esm/isChinese.js
CHANGED
|
@@ -31,6 +31,8 @@ var supportRegExpUnicode = RegExp.prototype.hasOwnProperty('unicode');
|
|
|
31
31
|
* @alias module:Validator.isChinese
|
|
32
32
|
* @since 1.1.0
|
|
33
33
|
* @see 参考 {@link http://www.unicode.org/reports/tr38/#BlockListing|4.4 Listing of Characters Covered by the Unihan Database}
|
|
34
|
+
* @see 参考 {@link https://zh.wikipedia.org/wiki/Unicode字符平面映射|Unicode字符平面映射}
|
|
35
|
+
* @see 参考 {@link https://zh.wikipedia.org/wiki/Unicode區段|Unicode区段}
|
|
34
36
|
* @param {*} value 要检测的值
|
|
35
37
|
* @param {Object} [options] 配置项
|
|
36
38
|
* @param {boolean} [options.loose=false] 宽松模式。如果为true,只要包含中文即为true
|
|
@@ -55,12 +57,11 @@ var supportRegExpUnicode = RegExp.prototype.hasOwnProperty('unicode');
|
|
|
55
57
|
*/
|
|
56
58
|
|
|
57
59
|
function isChinese(value) {
|
|
58
|
-
var
|
|
59
|
-
|
|
60
|
-
loose =
|
|
61
|
-
|
|
62
|
-
useExtend =
|
|
63
|
-
|
|
60
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
61
|
+
var _options$loose = options.loose,
|
|
62
|
+
loose = _options$loose === void 0 ? false : _options$loose,
|
|
63
|
+
_options$useExtend = options.useExtend,
|
|
64
|
+
useExtend = _options$useExtend === void 0 ? false : _options$useExtend;
|
|
64
65
|
var valueStr = normalizeString(value);
|
|
65
66
|
var basicRegExp = loose ? looseChineseRegExp : chineseRegExp;
|
|
66
67
|
var extendRegExp = loose ? looseChineseExtendRegExp : chineseExtendRegExp;
|
package/esm/isIdCard.js
CHANGED
|
@@ -55,12 +55,11 @@ function check(id) {
|
|
|
55
55
|
|
|
56
56
|
|
|
57
57
|
function isIdCard(value) {
|
|
58
|
-
var
|
|
59
|
-
|
|
60
|
-
loose =
|
|
61
|
-
|
|
62
|
-
checkCode =
|
|
63
|
-
|
|
58
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
59
|
+
var _options$loose = options.loose,
|
|
60
|
+
loose = _options$loose === void 0 ? false : _options$loose,
|
|
61
|
+
_options$checkCode = options.checkCode,
|
|
62
|
+
checkCode = _options$checkCode === void 0 ? true : _options$checkCode;
|
|
64
63
|
var valueStr = normalizeString(value);
|
|
65
64
|
|
|
66
65
|
if (valueStr.length === 15 && loose) {
|
package/esm/isPassword.js
CHANGED
|
@@ -34,14 +34,13 @@ import validatePassword from './validatePassword';
|
|
|
34
34
|
*/
|
|
35
35
|
|
|
36
36
|
function isPassword(value) {
|
|
37
|
-
var
|
|
38
|
-
|
|
39
|
-
level =
|
|
40
|
-
|
|
41
|
-
ignoreCase =
|
|
42
|
-
|
|
43
|
-
special =
|
|
44
|
-
|
|
37
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
38
|
+
var _options$level = options.level,
|
|
39
|
+
level = _options$level === void 0 ? 2 : _options$level,
|
|
40
|
+
_options$ignoreCase = options.ignoreCase,
|
|
41
|
+
ignoreCase = _options$ignoreCase === void 0 ? false : _options$ignoreCase,
|
|
42
|
+
_options$special = options.special,
|
|
43
|
+
special = _options$special === void 0 ? '\\x21-\\x2F\\x3A-\\x40\\x5B-\\x60\\x7B-\\x7E' : _options$special;
|
|
45
44
|
return validatePassword(value, {
|
|
46
45
|
level: level,
|
|
47
46
|
ignoreCase: ignoreCase,
|
package/esm/isTWCard.js
CHANGED
|
@@ -27,10 +27,9 @@ var singleRegTWCard = /^[\da-z]{10,12}$/i;
|
|
|
27
27
|
*/
|
|
28
28
|
|
|
29
29
|
function isTWCard(value) {
|
|
30
|
-
var
|
|
31
|
-
|
|
32
|
-
loose =
|
|
33
|
-
|
|
30
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
31
|
+
var _options$loose = options.loose,
|
|
32
|
+
loose = _options$loose === void 0 ? false : _options$loose;
|
|
34
33
|
var valueStr = normalizeString(value);
|
|
35
34
|
|
|
36
35
|
if (regTWCard.test(valueStr)) {
|
package/esm/isUrl.js
CHANGED
|
@@ -1,6 +1,19 @@
|
|
|
1
|
-
import normalizeString from './normalizeString'; //
|
|
1
|
+
import normalizeString from './normalizeString'; // 标准格式如下:
|
|
2
|
+
// [协议类型]://[服务器地址]:[端口号]/[资源层级UNIX文件路径][文件名]?[查询]#[片段ID]
|
|
3
|
+
// 完整格式如下:
|
|
4
|
+
// [协议类型]://[访问资源需要的凭证信息]@[服务器地址]:[端口号]/[资源层级UNIX文件路径][文件名]?[查询]#[片段ID]
|
|
5
|
+
//
|
|
6
|
+
// 其中[访问凭证信息]、[端口号]、[查询]、[片段ID]都属于选填项。
|
|
2
7
|
|
|
3
|
-
var
|
|
8
|
+
var protocalReg = '[\\w-.]+:\\/\\/';
|
|
9
|
+
var credentialsReg = '[-;:&=\\+\\$,\\w]+@';
|
|
10
|
+
var serverReg = 'localhost|(([^\\s:\\/]+?\\.)+?[^\\s:\\/]+)';
|
|
11
|
+
var portReg = ':\\d+';
|
|
12
|
+
var pathReg = '\\/.*';
|
|
13
|
+
var searchReg = '\\?.*';
|
|
14
|
+
var hashReg = '#.*';
|
|
15
|
+
var regWithProtocal = new RegExp("^".concat(protocalReg, "(?:").concat(credentialsReg, ")?(?:").concat(serverReg, ")(?:").concat(portReg, ")?(?:").concat(pathReg, ")*(?:").concat(searchReg, ")?(?:").concat(hashReg, ")?$"));
|
|
16
|
+
var regNonProtocal = new RegExp("^(?:".concat(serverReg, ")(?:").concat(portReg, ")?(?:").concat(pathReg, ")*(?:").concat(searchReg, ")?(?:").concat(hashReg, ")?$"));
|
|
4
17
|
/**
|
|
5
18
|
* 检测值是否为url
|
|
6
19
|
*
|
|
@@ -13,18 +26,27 @@ var reg = /(((^https?:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+(?::\d+)?|(?:
|
|
|
13
26
|
* @example
|
|
14
27
|
*
|
|
15
28
|
* isUrl(''); // false
|
|
16
|
-
* isUrl('
|
|
29
|
+
* isUrl('/foo/bar'); // false
|
|
30
|
+
*
|
|
31
|
+
* isUrl('8.8.8.8'); // true
|
|
17
32
|
* isUrl('example.com'); // true
|
|
18
33
|
* isUrl('http://example.com'); // true
|
|
19
34
|
* isUrl('https://example.com:8080'); // true
|
|
20
|
-
* isUrl('
|
|
21
|
-
* isUrl('
|
|
35
|
+
* isUrl('https://www.example.com/test/123'); // true
|
|
36
|
+
* isUrl('https://www.example.com/test/123?foo=bar'); // true
|
|
37
|
+
* isUrl('https://www.example.com/test/123?foo=中文#id'); // true
|
|
38
|
+
* isUrl('https://www.example.com/test/123?foo=中文#测试'); // true
|
|
39
|
+
* isUrl('ftp://127.0.0.1:8080/测试.tar'); // true
|
|
40
|
+
* isUrl('a.b'); // true
|
|
41
|
+
* isUrl('a.b:8080'); // true
|
|
42
|
+
* isUrl('p://a.b'); // true
|
|
43
|
+
* isUrl('p://a.b:8888'); // true
|
|
22
44
|
*
|
|
23
45
|
*/
|
|
24
46
|
|
|
25
47
|
function isUrl(value) {
|
|
26
48
|
var valueStr = normalizeString(value);
|
|
27
|
-
return
|
|
49
|
+
return regWithProtocal.test(valueStr) || regNonProtocal.test(valueStr);
|
|
28
50
|
}
|
|
29
51
|
|
|
30
52
|
export default isUrl;
|
package/esm/numberToChinese.js
CHANGED
|
@@ -180,21 +180,20 @@ function mapNumberChar(num) {
|
|
|
180
180
|
|
|
181
181
|
|
|
182
182
|
function numberToChinese(num) {
|
|
183
|
-
var
|
|
184
|
-
|
|
185
|
-
big5 =
|
|
186
|
-
|
|
187
|
-
unit =
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
// 非数字 或 NaN 不处理
|
|
183
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
184
|
+
var _options$big = options.big5,
|
|
185
|
+
big5 = _options$big === void 0 ? false : _options$big,
|
|
186
|
+
_options$unit = options.unit,
|
|
187
|
+
unit = _options$unit === void 0 ? true : _options$unit,
|
|
188
|
+
_options$zero = options.zero,
|
|
189
|
+
zero = _options$zero === void 0 ? '' : _options$zero,
|
|
190
|
+
_options$negative = options.negative,
|
|
191
|
+
negative = _options$negative === void 0 ? '负' : _options$negative,
|
|
192
|
+
_options$unitConfig = options.unitConfig,
|
|
193
|
+
unitConfig = _options$unitConfig === void 0 ? {} : _options$unitConfig;
|
|
194
|
+
var _options$decimal = options.decimal,
|
|
195
|
+
decimal = _options$decimal === void 0 ? '' : _options$decimal; // 非数字 或 NaN 不处理
|
|
196
|
+
|
|
198
197
|
if (typeof num !== 'number' || isNaN(num)) {
|
|
199
198
|
devWarn("\u53C2\u6570\u9519\u8BEF ".concat(num, "\uFF0C\u8BF7\u4F20\u5165\u6570\u5B57"));
|
|
200
199
|
return '';
|
package/esm/replaceChar.js
CHANGED
|
@@ -39,16 +39,17 @@ import normalizeString from './normalizeString';
|
|
|
39
39
|
*/
|
|
40
40
|
|
|
41
41
|
function replaceChar(str) {
|
|
42
|
-
var
|
|
43
|
-
_ref$start = _ref.start,
|
|
44
|
-
start = _ref$start === void 0 ? 3 : _ref$start,
|
|
45
|
-
_ref$end = _ref.end,
|
|
46
|
-
end = _ref$end === void 0 ? -4 : _ref$end,
|
|
47
|
-
_ref$char = _ref["char"],
|
|
48
|
-
_char = _ref$char === void 0 ? '*' : _ref$char,
|
|
49
|
-
repeat = _ref.repeat,
|
|
50
|
-
exclude = _ref.exclude;
|
|
42
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
51
43
|
|
|
44
|
+
var _options$char = options["char"],
|
|
45
|
+
_char = _options$char === void 0 ? '*' : _options$char,
|
|
46
|
+
exclude = options.exclude;
|
|
47
|
+
|
|
48
|
+
var _options$start = options.start,
|
|
49
|
+
start = _options$start === void 0 ? 3 : _options$start,
|
|
50
|
+
_options$end = options.end,
|
|
51
|
+
end = _options$end === void 0 ? -4 : _options$end,
|
|
52
|
+
repeat = options.repeat;
|
|
52
53
|
var realStr = normalizeString(str);
|
|
53
54
|
var strLen = realStr.length; // 开始位置超过str长度
|
|
54
55
|
|
package/esm/utils/config.js
CHANGED
package/esm/validatePassword.js
CHANGED
|
@@ -217,14 +217,13 @@ function hasUnallowableCharacter(val, chars) {
|
|
|
217
217
|
|
|
218
218
|
|
|
219
219
|
function validatePassword(value) {
|
|
220
|
-
var
|
|
221
|
-
|
|
222
|
-
level =
|
|
223
|
-
|
|
224
|
-
ignoreCase =
|
|
225
|
-
|
|
226
|
-
special =
|
|
227
|
-
|
|
220
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
221
|
+
var _options$level = options.level,
|
|
222
|
+
level = _options$level === void 0 ? 2 : _options$level,
|
|
223
|
+
_options$ignoreCase = options.ignoreCase,
|
|
224
|
+
ignoreCase = _options$ignoreCase === void 0 ? false : _options$ignoreCase,
|
|
225
|
+
_options$special = options.special,
|
|
226
|
+
special = _options$special === void 0 ? '\\x21-\\x2F\\x3A-\\x40\\x5B-\\x60\\x7B-\\x7E' : _options$special;
|
|
228
227
|
var valStr = value;
|
|
229
228
|
|
|
230
229
|
if (typeof value !== 'string') {
|
|
@@ -32,13 +32,12 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
|
|
|
32
32
|
* @returns {number} 格式化后的光标位置
|
|
33
33
|
*/
|
|
34
34
|
function calculateCursorPosition(prevPos, prevCtrlValue, rawValue, ctrlValue) {
|
|
35
|
-
var
|
|
36
|
-
|
|
37
|
-
placeholderChar =
|
|
38
|
-
|
|
39
|
-
maskReg =
|
|
40
|
-
type =
|
|
41
|
-
|
|
35
|
+
var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
|
|
36
|
+
var _options$placeholderC = options.placeholderChar,
|
|
37
|
+
placeholderChar = _options$placeholderC === void 0 ? ' ' : _options$placeholderC,
|
|
38
|
+
_options$maskReg = options.maskReg,
|
|
39
|
+
maskReg = _options$maskReg === void 0 ? /\D/g : _options$maskReg,
|
|
40
|
+
type = options.type;
|
|
42
41
|
var realCtrlValue = (0, _normalizeString["default"])(prevCtrlValue);
|
|
43
42
|
var realRawValue = (0, _normalizeString["default"])(rawValue);
|
|
44
43
|
var placeholderChars = Array.isArray(placeholderChar) ? placeholderChar : [placeholderChar];
|
package/lib/formatBankCard.js
CHANGED
|
@@ -37,12 +37,12 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
|
|
|
37
37
|
*/
|
|
38
38
|
function formatBankCard() {
|
|
39
39
|
var bankCardNo = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
40
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
40
41
|
|
|
41
|
-
var
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
length = _ref$length === void 0 ? 4 : _ref$length;
|
|
42
|
+
var _options$char = options["char"],
|
|
43
|
+
_char = _options$char === void 0 ? ' ' : _options$char,
|
|
44
|
+
_options$length = options.length,
|
|
45
|
+
length = _options$length === void 0 ? 4 : _options$length;
|
|
46
46
|
|
|
47
47
|
var reg = new RegExp("(.{".concat(length, "})"), 'g');
|
|
48
48
|
var regChar = new RegExp("".concat(_char), 'g');
|
package/lib/formatMobile.js
CHANGED
|
@@ -35,9 +35,10 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
|
|
|
35
35
|
*
|
|
36
36
|
*/
|
|
37
37
|
function formatMobile(mobileNo) {
|
|
38
|
-
var
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
39
|
+
|
|
40
|
+
var _options$char = options["char"],
|
|
41
|
+
_char = _options$char === void 0 ? ' ' : _options$char;
|
|
41
42
|
|
|
42
43
|
var regChar = new RegExp(_char, 'g');
|
|
43
44
|
var realValue = (0, _normalizeString["default"])(mobileNo).replace(regChar, '').substring(0, 11);
|
package/lib/formatMoney.js
CHANGED
|
@@ -140,17 +140,16 @@ function formatDec(decStr, precision, decimal) {
|
|
|
140
140
|
|
|
141
141
|
|
|
142
142
|
var formatMoney = function formatMoney(num) {
|
|
143
|
-
var
|
|
144
|
-
|
|
145
|
-
precision =
|
|
146
|
-
symbol =
|
|
147
|
-
|
|
148
|
-
thousand =
|
|
149
|
-
|
|
150
|
-
decimal =
|
|
151
|
-
|
|
152
|
-
// 数字参数不正确,返回空字符串
|
|
143
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
144
|
+
var _options$precision = options.precision,
|
|
145
|
+
precision = _options$precision === void 0 ? 2 : _options$precision,
|
|
146
|
+
symbol = options.symbol,
|
|
147
|
+
_options$thousand = options.thousand,
|
|
148
|
+
thousand = _options$thousand === void 0 ? ',' : _options$thousand,
|
|
149
|
+
_options$decimal = options.decimal,
|
|
150
|
+
decimal = _options$decimal === void 0 ? '.' : _options$decimal; // 数字参数不正确,返回空字符串
|
|
153
151
|
// @ts-ignore
|
|
152
|
+
|
|
154
153
|
if (!checkNumber(num)) {
|
|
155
154
|
return '';
|
|
156
155
|
} // 参数规整化
|
package/lib/isBankCard.js
CHANGED
|
@@ -57,12 +57,11 @@ function sumCheckCode(numStr) {
|
|
|
57
57
|
|
|
58
58
|
|
|
59
59
|
function isBankCard(value) {
|
|
60
|
-
var
|
|
61
|
-
|
|
62
|
-
loose =
|
|
63
|
-
|
|
64
|
-
luhn =
|
|
65
|
-
|
|
60
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
61
|
+
var _options$loose = options.loose,
|
|
62
|
+
loose = _options$loose === void 0 ? false : _options$loose,
|
|
63
|
+
_options$luhn = options.luhn,
|
|
64
|
+
luhn = _options$luhn === void 0 ? false : _options$luhn;
|
|
66
65
|
var valueStr = (0, _normalizeString["default"])(value);
|
|
67
66
|
var validateResult = loose ? regLoose.test(valueStr) : reg.test(valueStr);
|
|
68
67
|
|
package/lib/isChinese.js
CHANGED
|
@@ -41,6 +41,8 @@ var supportRegExpUnicode = RegExp.prototype.hasOwnProperty('unicode');
|
|
|
41
41
|
* @alias module:Validator.isChinese
|
|
42
42
|
* @since 1.1.0
|
|
43
43
|
* @see 参考 {@link http://www.unicode.org/reports/tr38/#BlockListing|4.4 Listing of Characters Covered by the Unihan Database}
|
|
44
|
+
* @see 参考 {@link https://zh.wikipedia.org/wiki/Unicode字符平面映射|Unicode字符平面映射}
|
|
45
|
+
* @see 参考 {@link https://zh.wikipedia.org/wiki/Unicode區段|Unicode区段}
|
|
44
46
|
* @param {*} value 要检测的值
|
|
45
47
|
* @param {Object} [options] 配置项
|
|
46
48
|
* @param {boolean} [options.loose=false] 宽松模式。如果为true,只要包含中文即为true
|
|
@@ -65,12 +67,11 @@ var supportRegExpUnicode = RegExp.prototype.hasOwnProperty('unicode');
|
|
|
65
67
|
*/
|
|
66
68
|
|
|
67
69
|
function isChinese(value) {
|
|
68
|
-
var
|
|
69
|
-
|
|
70
|
-
loose =
|
|
71
|
-
|
|
72
|
-
useExtend =
|
|
73
|
-
|
|
70
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
71
|
+
var _options$loose = options.loose,
|
|
72
|
+
loose = _options$loose === void 0 ? false : _options$loose,
|
|
73
|
+
_options$useExtend = options.useExtend,
|
|
74
|
+
useExtend = _options$useExtend === void 0 ? false : _options$useExtend;
|
|
74
75
|
var valueStr = (0, _normalizeString["default"])(value);
|
|
75
76
|
var basicRegExp = loose ? looseChineseRegExp : chineseRegExp;
|
|
76
77
|
var extendRegExp = loose ? looseChineseExtendRegExp : chineseExtendRegExp;
|
package/lib/isIdCard.js
CHANGED
|
@@ -65,12 +65,11 @@ function check(id) {
|
|
|
65
65
|
|
|
66
66
|
|
|
67
67
|
function isIdCard(value) {
|
|
68
|
-
var
|
|
69
|
-
|
|
70
|
-
loose =
|
|
71
|
-
|
|
72
|
-
checkCode =
|
|
73
|
-
|
|
68
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
69
|
+
var _options$loose = options.loose,
|
|
70
|
+
loose = _options$loose === void 0 ? false : _options$loose,
|
|
71
|
+
_options$checkCode = options.checkCode,
|
|
72
|
+
checkCode = _options$checkCode === void 0 ? true : _options$checkCode;
|
|
74
73
|
var valueStr = (0, _normalizeString["default"])(value);
|
|
75
74
|
|
|
76
75
|
if (valueStr.length === 15 && loose) {
|
package/lib/isPassword.js
CHANGED
|
@@ -43,14 +43,13 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
|
|
|
43
43
|
*
|
|
44
44
|
*/
|
|
45
45
|
function isPassword(value) {
|
|
46
|
-
var
|
|
47
|
-
|
|
48
|
-
level =
|
|
49
|
-
|
|
50
|
-
ignoreCase =
|
|
51
|
-
|
|
52
|
-
special =
|
|
53
|
-
|
|
46
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
47
|
+
var _options$level = options.level,
|
|
48
|
+
level = _options$level === void 0 ? 2 : _options$level,
|
|
49
|
+
_options$ignoreCase = options.ignoreCase,
|
|
50
|
+
ignoreCase = _options$ignoreCase === void 0 ? false : _options$ignoreCase,
|
|
51
|
+
_options$special = options.special,
|
|
52
|
+
special = _options$special === void 0 ? '\\x21-\\x2F\\x3A-\\x40\\x5B-\\x60\\x7B-\\x7E' : _options$special;
|
|
54
53
|
return (0, _validatePassword["default"])(value, {
|
|
55
54
|
level: level,
|
|
56
55
|
ignoreCase: ignoreCase,
|
package/lib/isTWCard.js
CHANGED
|
@@ -37,10 +37,9 @@ var singleRegTWCard = /^[\da-z]{10,12}$/i;
|
|
|
37
37
|
*/
|
|
38
38
|
|
|
39
39
|
function isTWCard(value) {
|
|
40
|
-
var
|
|
41
|
-
|
|
42
|
-
loose =
|
|
43
|
-
|
|
40
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
41
|
+
var _options$loose = options.loose,
|
|
42
|
+
loose = _options$loose === void 0 ? false : _options$loose;
|
|
44
43
|
var valueStr = (0, _normalizeString["default"])(value);
|
|
45
44
|
|
|
46
45
|
if (regTWCard.test(valueStr)) {
|
package/lib/isUrl.js
CHANGED
|
@@ -9,8 +9,21 @@ var _normalizeString = _interopRequireDefault(require("./normalizeString"));
|
|
|
9
9
|
|
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
11
|
|
|
12
|
-
//
|
|
13
|
-
|
|
12
|
+
// 标准格式如下:
|
|
13
|
+
// [协议类型]://[服务器地址]:[端口号]/[资源层级UNIX文件路径][文件名]?[查询]#[片段ID]
|
|
14
|
+
// 完整格式如下:
|
|
15
|
+
// [协议类型]://[访问资源需要的凭证信息]@[服务器地址]:[端口号]/[资源层级UNIX文件路径][文件名]?[查询]#[片段ID]
|
|
16
|
+
//
|
|
17
|
+
// 其中[访问凭证信息]、[端口号]、[查询]、[片段ID]都属于选填项。
|
|
18
|
+
var protocalReg = '[\\w-.]+:\\/\\/';
|
|
19
|
+
var credentialsReg = '[-;:&=\\+\\$,\\w]+@';
|
|
20
|
+
var serverReg = 'localhost|(([^\\s:\\/]+?\\.)+?[^\\s:\\/]+)';
|
|
21
|
+
var portReg = ':\\d+';
|
|
22
|
+
var pathReg = '\\/.*';
|
|
23
|
+
var searchReg = '\\?.*';
|
|
24
|
+
var hashReg = '#.*';
|
|
25
|
+
var regWithProtocal = new RegExp("^".concat(protocalReg, "(?:").concat(credentialsReg, ")?(?:").concat(serverReg, ")(?:").concat(portReg, ")?(?:").concat(pathReg, ")*(?:").concat(searchReg, ")?(?:").concat(hashReg, ")?$"));
|
|
26
|
+
var regNonProtocal = new RegExp("^(?:".concat(serverReg, ")(?:").concat(portReg, ")?(?:").concat(pathReg, ")*(?:").concat(searchReg, ")?(?:").concat(hashReg, ")?$"));
|
|
14
27
|
/**
|
|
15
28
|
* 检测值是否为url
|
|
16
29
|
*
|
|
@@ -23,18 +36,27 @@ var reg = /(((^https?:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+(?::\d+)?|(?:
|
|
|
23
36
|
* @example
|
|
24
37
|
*
|
|
25
38
|
* isUrl(''); // false
|
|
26
|
-
* isUrl('
|
|
39
|
+
* isUrl('/foo/bar'); // false
|
|
40
|
+
*
|
|
41
|
+
* isUrl('8.8.8.8'); // true
|
|
27
42
|
* isUrl('example.com'); // true
|
|
28
43
|
* isUrl('http://example.com'); // true
|
|
29
44
|
* isUrl('https://example.com:8080'); // true
|
|
30
|
-
* isUrl('
|
|
31
|
-
* isUrl('
|
|
45
|
+
* isUrl('https://www.example.com/test/123'); // true
|
|
46
|
+
* isUrl('https://www.example.com/test/123?foo=bar'); // true
|
|
47
|
+
* isUrl('https://www.example.com/test/123?foo=中文#id'); // true
|
|
48
|
+
* isUrl('https://www.example.com/test/123?foo=中文#测试'); // true
|
|
49
|
+
* isUrl('ftp://127.0.0.1:8080/测试.tar'); // true
|
|
50
|
+
* isUrl('a.b'); // true
|
|
51
|
+
* isUrl('a.b:8080'); // true
|
|
52
|
+
* isUrl('p://a.b'); // true
|
|
53
|
+
* isUrl('p://a.b:8888'); // true
|
|
32
54
|
*
|
|
33
55
|
*/
|
|
34
56
|
|
|
35
57
|
function isUrl(value) {
|
|
36
58
|
var valueStr = (0, _normalizeString["default"])(value);
|
|
37
|
-
return
|
|
59
|
+
return regWithProtocal.test(valueStr) || regNonProtocal.test(valueStr);
|
|
38
60
|
}
|
|
39
61
|
|
|
40
62
|
var _default = isUrl;
|
package/lib/numberToChinese.js
CHANGED
|
@@ -191,21 +191,20 @@ function mapNumberChar(num) {
|
|
|
191
191
|
|
|
192
192
|
|
|
193
193
|
function numberToChinese(num) {
|
|
194
|
-
var
|
|
195
|
-
|
|
196
|
-
big5 =
|
|
197
|
-
|
|
198
|
-
unit =
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
// 非数字 或 NaN 不处理
|
|
194
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
195
|
+
var _options$big = options.big5,
|
|
196
|
+
big5 = _options$big === void 0 ? false : _options$big,
|
|
197
|
+
_options$unit = options.unit,
|
|
198
|
+
unit = _options$unit === void 0 ? true : _options$unit,
|
|
199
|
+
_options$zero = options.zero,
|
|
200
|
+
zero = _options$zero === void 0 ? '' : _options$zero,
|
|
201
|
+
_options$negative = options.negative,
|
|
202
|
+
negative = _options$negative === void 0 ? '负' : _options$negative,
|
|
203
|
+
_options$unitConfig = options.unitConfig,
|
|
204
|
+
unitConfig = _options$unitConfig === void 0 ? {} : _options$unitConfig;
|
|
205
|
+
var _options$decimal = options.decimal,
|
|
206
|
+
decimal = _options$decimal === void 0 ? '' : _options$decimal; // 非数字 或 NaN 不处理
|
|
207
|
+
|
|
209
208
|
if (typeof num !== 'number' || isNaN(num)) {
|
|
210
209
|
(0, _devWarn["default"])("\u53C2\u6570\u9519\u8BEF ".concat(num, "\uFF0C\u8BF7\u4F20\u5165\u6570\u5B57"));
|
|
211
210
|
return '';
|