util-helpers 4.12.6 → 4.12.8
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 -4
- package/dist/util-helpers.js +217 -342
- 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 +3 -3
- 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 +2 -1
- 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 +3 -3
- 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 +2 -1
- package/lib/waitTime.js +3 -1
- package/package.json +3 -3
- package/types/bytesToSize.d.ts +4 -10
- package/types/dataURLToBlob.d.ts +1 -1
- package/types/divide.d.ts +9 -8
- package/types/formatBankCard.d.ts +4 -8
- package/types/formatMobile.d.ts +9 -7
- package/types/formatMoney.d.ts +8 -14
- package/types/index.d.ts +1 -1
- package/types/isBankCard.d.ts +5 -10
- package/types/isBusinessLicense.d.ts +6 -9
- package/types/isChinese.d.ts +9 -16
- package/types/isEmail.d.ts +2 -5
- package/types/isHMCard.d.ts +8 -8
- package/types/isIPv4.d.ts +4 -11
- package/types/isIPv6.d.ts +11 -29
- package/types/isIdCard.d.ts +8 -11
- package/types/isMobile.d.ts +2 -5
- package/types/isPassport.d.ts +2 -5
- package/types/isPassword.d.ts +10 -17
- package/types/isPostcode.d.ts +2 -5
- package/types/isPromiseLike.d.ts +3 -7
- package/types/isQQ.d.ts +2 -5
- package/types/isSocialCreditCode.d.ts +6 -11
- package/types/isSwiftCode.d.ts +5 -5
- package/types/isTWCard.d.ts +7 -4
- package/types/isTelephone.d.ts +6 -9
- package/types/isUrl.d.ts +7 -19
- package/types/isVehicle.d.ts +8 -13
- package/types/isWX.d.ts +2 -5
- package/types/minus.d.ts +4 -8
- package/types/normalizeString.d.ts +2 -0
- package/types/numberToChinese.d.ts +10 -18
- package/types/padZero.d.ts +9 -8
- package/types/parseIdCard.d.ts +3 -3
- package/types/plus.d.ts +4 -8
- package/types/randomString.d.ts +2 -0
- package/types/replaceChar.d.ts +9 -17
- package/types/round.d.ts +3 -7
- package/types/safeDate.d.ts +2 -0
- package/types/setDataURLPrefix.d.ts +2 -0
- package/types/times.d.ts +4 -8
- package/types/utils/config.d.ts +2 -0
- package/types/utils/math.util.d.ts +4 -4
- package/types/waitTime.d.ts +3 -1
- package/types/src/blobToDataURL.d.ts +0 -25
- package/types/src/bytesToSize.d.ts +0 -24
- package/types/src/calculateCursorPosition.d.ts +0 -26
- package/types/src/dataURLToBlob.d.ts +0 -15
- package/types/src/divide.d.ts +0 -21
- package/types/src/formatBankCard.d.ts +0 -35
- package/types/src/formatMobile.d.ts +0 -27
- package/types/src/formatMoney.d.ts +0 -50
- package/types/src/index.d.ts +0 -45
- package/types/src/isBankCard.d.ts +0 -32
- package/types/src/isBusinessLicense.d.ts +0 -29
- package/types/src/isChinese.d.ts +0 -41
- package/types/src/isEmail.d.ts +0 -19
- package/types/src/isHMCard.d.ts +0 -24
- package/types/src/isIPv4.d.ts +0 -25
- package/types/src/isIPv6.d.ts +0 -50
- package/types/src/isIdCard.d.ts +0 -34
- package/types/src/isMobile.d.ts +0 -19
- package/types/src/isPassport.d.ts +0 -21
- package/types/src/isPassword.d.ts +0 -46
- package/types/src/isPostcode.d.ts +0 -19
- package/types/src/isPromiseLike.d.ts +0 -21
- package/types/src/isQQ.d.ts +0 -19
- package/types/src/isSocialCreditCode.d.ts +0 -31
- package/types/src/isSwiftCode.d.ts +0 -22
- package/types/src/isTWCard.d.ts +0 -23
- package/types/src/isTelephone.d.ts +0 -25
- package/types/src/isUrl.d.ts +0 -34
- package/types/src/isVehicle.d.ts +0 -29
- package/types/src/isWX.d.ts +0 -19
- package/types/src/minus.d.ts +0 -21
- package/types/src/normalizeString.d.ts +0 -22
- package/types/src/numberToChinese.d.ts +0 -57
- package/types/src/padZero.d.ts +0 -24
- package/types/src/parseIdCard.d.ts +0 -107
- package/types/src/plus.d.ts +0 -21
- package/types/src/randomString.d.ts +0 -19
- package/types/src/replaceChar.d.ts +0 -54
- package/types/src/round.d.ts +0 -22
- package/types/src/safeDate.d.ts +0 -22
- package/types/src/setDataURLPrefix.d.ts +0 -24
- package/types/src/strlen.d.ts +0 -20
- package/types/src/times.d.ts +0 -21
- package/types/src/utils/config.d.ts +0 -13
- package/types/src/utils/constants.d.ts +0 -2
- package/types/src/utils/convertToString.d.ts +0 -8
- package/types/src/utils/devWarn.d.ts +0 -7
- package/types/src/utils/math.util.d.ts +0 -63
- package/types/src/utils/type/index.d.ts +0 -19
- package/types/src/utils/type/isArguments.d.ts +0 -18
- package/types/src/utils/type/isArray.d.ts +0 -18
- package/types/src/utils/type/isBoolean.d.ts +0 -18
- package/types/src/utils/type/isDate.d.ts +0 -18
- package/types/src/utils/type/isError.d.ts +0 -18
- package/types/src/utils/type/isFunction.d.ts +0 -18
- package/types/src/utils/type/isMap.d.ts +0 -18
- package/types/src/utils/type/isNaN.d.ts +0 -18
- package/types/src/utils/type/isNil.d.ts +0 -11
- package/types/src/utils/type/isNull.d.ts +0 -18
- package/types/src/utils/type/isNumber.d.ts +0 -27
- package/types/src/utils/type/isObject.d.ts +0 -21
- package/types/src/utils/type/isRegExp.d.ts +0 -18
- package/types/src/utils/type/isSet.d.ts +0 -18
- package/types/src/utils/type/isString.d.ts +0 -18
- package/types/src/utils/type/isSymbol.d.ts +0 -18
- package/types/src/utils/type/isType.d.ts +0 -11
- package/types/src/utils/type/isUndefined.d.ts +0 -21
- package/types/src/utils/type/isWeakMap.d.ts +0 -18
- package/types/src/utils/type/isWeakSet.d.ts +0 -18
- package/types/src/validatePassword.d.ts +0 -134
- package/types/src/waitTime.d.ts +0 -20
package/esm/minus.js
CHANGED
|
@@ -11,14 +11,10 @@ import times from './times';
|
|
|
11
11
|
* @returns {number} 差
|
|
12
12
|
* @example
|
|
13
13
|
*
|
|
14
|
-
* minus(1, 0.9);
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* // => 0.08
|
|
19
|
-
*
|
|
20
|
-
* minus(1, 0.9, 0.02, 0.08);
|
|
21
|
-
* // => 0
|
|
14
|
+
* minus(1, 0.9); // 0.1
|
|
15
|
+
* minus(1, 0.9, 0.02); // 0.08
|
|
16
|
+
* minus(1, 0.9, 0.02, 0.08); // 0
|
|
17
|
+
*
|
|
22
18
|
*/
|
|
23
19
|
|
|
24
20
|
function minus() {
|
package/esm/normalizeString.js
CHANGED
|
@@ -10,6 +10,7 @@ import convertToString from './utils/convertToString';
|
|
|
10
10
|
* @param {*} value 待处理的值
|
|
11
11
|
* @returns {string} 规整化的值
|
|
12
12
|
* @example
|
|
13
|
+
*
|
|
13
14
|
* normalizeString(); // ''
|
|
14
15
|
* normalizeString(undefined); // ''
|
|
15
16
|
* normalizeString(void 0); // ''
|
|
@@ -19,6 +20,7 @@ import convertToString from './utils/convertToString';
|
|
|
19
20
|
* normalizeString(NaN); // 'NaN'
|
|
20
21
|
* normalizeString(1); // '1'
|
|
21
22
|
* normalizeString('a'); // 'a'
|
|
23
|
+
*
|
|
22
24
|
*/
|
|
23
25
|
|
|
24
26
|
function normalizeString(value) {
|
package/esm/numberToChinese.js
CHANGED
|
@@ -151,7 +151,7 @@ function mapNumberChar(num) {
|
|
|
151
151
|
* @param {Object} [options] 配置项
|
|
152
152
|
* @param {boolean} [options.big5=false] 繁体
|
|
153
153
|
* @param {boolean} [options.unit=true] 计数单位
|
|
154
|
-
* @param {string} [options.decimal="点"]
|
|
154
|
+
* @param {string} [options.decimal="点"] 中文小数点,繁体字为點
|
|
155
155
|
* @param {string} [options.zero="零"] 设置0。常用配置 〇
|
|
156
156
|
* @param {string} [options.negative="负"] 负数前面的字
|
|
157
157
|
* @param {Object} [options.unitConfig] 节点单位配置
|
|
@@ -160,29 +160,21 @@ function mapNumberChar(num) {
|
|
|
160
160
|
* @returns {string} 中文数字
|
|
161
161
|
* @example
|
|
162
162
|
*
|
|
163
|
-
* numberToChinese(100);
|
|
164
|
-
* //
|
|
165
|
-
*
|
|
166
|
-
* numberToChinese(
|
|
167
|
-
* // => 一百点三
|
|
163
|
+
* numberToChinese(100); // 一百
|
|
164
|
+
* numberToChinese(100.3); // 一百点三
|
|
165
|
+
* numberToChinese(1234567890); // 一十二亿三千四百五十六万七千八百九十
|
|
166
|
+
* numberToChinese(1234567890.11); // 一十二亿三千四百五十六万七千八百九十点一一
|
|
168
167
|
*
|
|
169
168
|
* // 繁体
|
|
170
|
-
* numberToChinese(100, {big5: true});
|
|
171
|
-
* //
|
|
172
|
-
*
|
|
173
|
-
* numberToChinese(100.3, {big5: true});
|
|
174
|
-
* // => 壹佰点叁
|
|
175
|
-
*
|
|
176
|
-
* numberToChinese(1234567890, {big5: true});
|
|
177
|
-
* // => 壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾
|
|
169
|
+
* numberToChinese(100, {big5: true}); // 壹佰
|
|
170
|
+
* numberToChinese(100.3, {big5: true}); // 壹佰點叁
|
|
171
|
+
* numberToChinese(1234567890.11, {big5: true}); // 壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾點壹壹
|
|
178
172
|
*
|
|
179
173
|
* // 不带计数单位
|
|
180
|
-
* numberToChinese(1990, {unit: false});
|
|
181
|
-
* // => 一九九零
|
|
174
|
+
* numberToChinese(1990, {unit: false}); // 一九九零
|
|
182
175
|
*
|
|
183
176
|
* // 不带计数单位,修改0
|
|
184
|
-
* numberToChinese(1990, {unit: false, zero:'〇'});
|
|
185
|
-
* // => 一九九〇
|
|
177
|
+
* numberToChinese(1990, {unit: false, zero:'〇'}); // 一九九〇
|
|
186
178
|
*
|
|
187
179
|
*/
|
|
188
180
|
|
|
@@ -194,7 +186,7 @@ function numberToChinese(num) {
|
|
|
194
186
|
_ref$unit = _ref.unit,
|
|
195
187
|
unit = _ref$unit === void 0 ? true : _ref$unit,
|
|
196
188
|
_ref$decimal = _ref.decimal,
|
|
197
|
-
decimal = _ref$decimal === void 0 ? '
|
|
189
|
+
decimal = _ref$decimal === void 0 ? '' : _ref$decimal,
|
|
198
190
|
_ref$zero = _ref.zero,
|
|
199
191
|
zero = _ref$zero === void 0 ? '' : _ref$zero,
|
|
200
192
|
_ref$negative = _ref.negative,
|
|
@@ -214,9 +206,11 @@ function numberToChinese(num) {
|
|
|
214
206
|
if (big5) {
|
|
215
207
|
numberChar = big5NumberChar.slice();
|
|
216
208
|
unitChar = big5UnitChar.slice();
|
|
209
|
+
decimal = decimal || '點';
|
|
217
210
|
} else {
|
|
218
211
|
numberChar = chnNumberChar.slice();
|
|
219
212
|
unitChar = chnUnitChar.slice();
|
|
213
|
+
decimal = decimal || '点';
|
|
220
214
|
} // 设置节点计数单位,万、亿、万亿
|
|
221
215
|
|
|
222
216
|
|
package/esm/padZero.js
CHANGED
|
@@ -9,17 +9,18 @@ import normalizeString from './normalizeString';
|
|
|
9
9
|
* @param {number} [size=2] 指定字符串长度
|
|
10
10
|
* @returns {string} 用零填充数字到给定长度的字符串
|
|
11
11
|
* @example
|
|
12
|
-
* padZero(5); //
|
|
13
|
-
* padZero('5'); //
|
|
12
|
+
* padZero(5); // 05
|
|
13
|
+
* padZero('5'); // 05
|
|
14
14
|
*
|
|
15
|
-
* padZero(12); //
|
|
16
|
-
* padZero('12'); //
|
|
15
|
+
* padZero(12); // 12
|
|
16
|
+
* padZero('12'); // 12
|
|
17
17
|
*
|
|
18
|
-
* padZero(688); //
|
|
19
|
-
* padZero('688'); //
|
|
18
|
+
* padZero(688); // 688
|
|
19
|
+
* padZero('688'); // 688
|
|
20
20
|
*
|
|
21
|
-
* padZero(688, 5); //
|
|
22
|
-
* padZero('688', 5); //
|
|
21
|
+
* padZero(688, 5); // 00688
|
|
22
|
+
* padZero('688', 5); // 00688
|
|
23
|
+
*
|
|
23
24
|
*/
|
|
24
25
|
|
|
25
26
|
function padZero(value) {
|
package/esm/parseIdCard.js
CHANGED
|
@@ -65,11 +65,11 @@ var Provinces = [// 华北地区:北京市|110000,天津市|120000,河北
|
|
|
65
65
|
* @param {string} id 身份证号码,支持15位
|
|
66
66
|
* @returns {null|IdCardInfo} null 或 省份、生日、性别,省/市/区/年/月/日/性别编码
|
|
67
67
|
* @example
|
|
68
|
-
*
|
|
69
|
-
* //
|
|
68
|
+
*
|
|
69
|
+
* parseIdCard('123456789123456'); // null
|
|
70
70
|
*
|
|
71
71
|
* // 18位身份证号码
|
|
72
|
-
* parseIdCard('130701199310302288')
|
|
72
|
+
* parseIdCard('130701199310302288');
|
|
73
73
|
* // =>
|
|
74
74
|
* {
|
|
75
75
|
* birthday: "1993-10-30",
|
package/esm/plus.js
CHANGED
|
@@ -11,14 +11,10 @@ import times from './times';
|
|
|
11
11
|
* @returns {number} 总和
|
|
12
12
|
* @example
|
|
13
13
|
*
|
|
14
|
-
* plus(0.1, 0.2);
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* // => 0.6
|
|
19
|
-
*
|
|
20
|
-
* plus(0.1, 0.2, 0.3, 0.4);
|
|
21
|
-
* // => 1
|
|
14
|
+
* plus(0.1, 0.2); // 0.3
|
|
15
|
+
* plus(0.1, 0.2, 0.3); // 0.6
|
|
16
|
+
* plus(0.1, 0.2, 0.3, 0.4); // 1
|
|
17
|
+
*
|
|
22
18
|
*/
|
|
23
19
|
|
|
24
20
|
function plus() {
|
package/esm/randomString.js
CHANGED
|
@@ -31,12 +31,14 @@ function internalRandomString() {
|
|
|
31
31
|
* @param {string} [optionalChars='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'] 允许的字符,默认为数字和大小写字母
|
|
32
32
|
* @returns {string} 随机字符串
|
|
33
33
|
* @example
|
|
34
|
+
*
|
|
34
35
|
* randomString(5); // slk23
|
|
35
36
|
* randomString(8); // 71mHqo2A
|
|
36
37
|
*
|
|
37
38
|
* // 自定义允许的字符
|
|
38
39
|
* randomString(5, 'abc'); // ccbcb
|
|
39
40
|
* randomString(8, 'abcefg'); // bcgcfabg
|
|
41
|
+
*
|
|
40
42
|
*/
|
|
41
43
|
|
|
42
44
|
|
package/esm/replaceChar.js
CHANGED
|
@@ -16,33 +16,25 @@ import normalizeString from './normalizeString';
|
|
|
16
16
|
* @example
|
|
17
17
|
*
|
|
18
18
|
* // 手机号
|
|
19
|
-
* replaceChar('13000000000');
|
|
20
|
-
* // => 130****0000
|
|
19
|
+
* replaceChar('13000000000'); // 130****0000
|
|
21
20
|
*
|
|
22
21
|
* // 身份证
|
|
23
|
-
* replaceChar('130701199310302288');
|
|
24
|
-
* // => 130***********2288
|
|
22
|
+
* replaceChar('130701199310302288'); // 130***********2288
|
|
25
23
|
*
|
|
26
24
|
* // 邮箱
|
|
27
25
|
* const email = '12345@qq.com'
|
|
28
|
-
* replaceChar(email, {start: 2, end: email.indexOf('@'), repeat: 4});
|
|
29
|
-
* // => 12****@qq.com
|
|
26
|
+
* replaceChar(email, {start: 2, end: email.indexOf('@'), repeat: 4}); // 12****@qq.com
|
|
30
27
|
*
|
|
31
28
|
* // 银行卡号
|
|
32
|
-
* replaceChar('6228480402564890018', {start: 0, end: -4, repeat: 4});
|
|
33
|
-
* // => ****0018
|
|
29
|
+
* replaceChar('6228480402564890018', {start: 0, end: -4, repeat: 4}); // ****0018
|
|
34
30
|
*
|
|
35
|
-
* //
|
|
36
|
-
* replaceChar('6228 4804 0256 4890 018', {start: 4, end: -4, exclude: ' '});
|
|
37
|
-
* // => 6228 **** **** **** 018
|
|
31
|
+
* // 带格式的银行卡号,忽略空字符串
|
|
32
|
+
* replaceChar('6228 4804 0256 4890 018', {start: 4, end: -4, exclude: ' '}); // 6228 **** **** **** 018
|
|
38
33
|
*
|
|
39
34
|
* // 用户名
|
|
40
|
-
* replaceChar('林某某', {start: 1, end: Infinity, repeat: 2});
|
|
41
|
-
* //
|
|
42
|
-
* replaceChar('
|
|
43
|
-
* // => 林**
|
|
44
|
-
* replaceChar('林某某某', {start: 1, end: Infinity, repeat: 2});
|
|
45
|
-
* // => 林**
|
|
35
|
+
* replaceChar('林某某', {start: 1, end: Infinity, repeat: 2}); // 林**
|
|
36
|
+
* replaceChar('林某', {start: 1, end: Infinity, repeat: 2}); // 林**
|
|
37
|
+
* replaceChar('林某某某', {start: 1, end: Infinity, repeat: 2}); // 林**
|
|
46
38
|
*
|
|
47
39
|
*/
|
|
48
40
|
|
package/esm/round.js
CHANGED
|
@@ -12,14 +12,10 @@ import { transformEffectiveNumber } from './utils/math.util';
|
|
|
12
12
|
* @returns {number} 四舍五入的数字
|
|
13
13
|
* @example
|
|
14
14
|
*
|
|
15
|
-
* round(4.006);
|
|
16
|
-
* //
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* // => 4.01
|
|
20
|
-
*
|
|
21
|
-
* round(4060, -2);
|
|
22
|
-
* // => 4100
|
|
15
|
+
* round(4.006); // 4
|
|
16
|
+
* round(4.006, 2); // 4.01
|
|
17
|
+
* round(4060, -2); // 4100
|
|
18
|
+
*
|
|
23
19
|
*/
|
|
24
20
|
|
|
25
21
|
function round(num) {
|
package/esm/safeDate.js
CHANGED
|
@@ -13,12 +13,14 @@ import isNil from './utils/type/isNil'; // TODO: 函数重载,类型参照 Dat
|
|
|
13
13
|
* @param {...number} args 月/日/时/分/秒/毫秒
|
|
14
14
|
* @returns {Date} Date 实例日期对象
|
|
15
15
|
* @example
|
|
16
|
+
*
|
|
16
17
|
* safeDate('2022-1-1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
|
|
17
18
|
* safeDate('2022/1/1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
|
|
18
19
|
* safeDate('2022.1.1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
|
|
19
20
|
* safeDate('2022.1.1 11:11'); // Sat Jan 01 2022 11:11:00 GMT+0800 (中国标准时间)
|
|
20
21
|
* safeDate(99, 1); // Mon Feb 01 1999 00:00:00 GMT+0800 (中国标准时间)
|
|
21
22
|
* safeDate(1646711233171); // Tue Mar 08 2022 11:47:13 GMT+0800 (中国标准时间)
|
|
23
|
+
*
|
|
22
24
|
*
|
|
23
25
|
*/
|
|
24
26
|
|
package/esm/setDataURLPrefix.js
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* @param {boolean} [base64=true] 添加 base64 标识
|
|
13
13
|
* @returns {string} DataURL 格式的字符串
|
|
14
14
|
* @example
|
|
15
|
+
*
|
|
15
16
|
* const data = 'PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=';
|
|
16
17
|
* setDataURLPrefix(data); // data:image/png;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
17
18
|
* setDataURLPrefix(data, 'image/png', false); // data:image/png,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
@@ -19,6 +20,7 @@
|
|
|
19
20
|
* setDataURLPrefix(data, 'text/html'); // data:text/html;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
20
21
|
* setDataURLPrefix(data, ''); // data:;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
21
22
|
* setDataURLPrefix(data, '', false); // data:,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
23
|
+
*
|
|
22
24
|
*/
|
|
23
25
|
function setDataURLPrefix(data) {
|
|
24
26
|
var mimetype = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'image/png';
|
package/esm/times.js
CHANGED
|
@@ -10,14 +10,10 @@ import { digitLength, float2Fixed, checkBoundary, transformEffectiveNumber } fro
|
|
|
10
10
|
* @returns {number} 乘积
|
|
11
11
|
* @example
|
|
12
12
|
*
|
|
13
|
-
* times(3, 0.6);
|
|
14
|
-
* //
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* // => 3.6
|
|
18
|
-
*
|
|
19
|
-
* times(3, 0.6, 2, 10);
|
|
20
|
-
* // => 36
|
|
13
|
+
* times(3, 0.6); // 1.8
|
|
14
|
+
* times(3, 0.6, 2); // 3.6
|
|
15
|
+
* times(3, 0.6, 2, 10); // 36
|
|
16
|
+
*
|
|
21
17
|
*/
|
|
22
18
|
|
|
23
19
|
function times() {
|
package/esm/utils/config.js
CHANGED
package/esm/waitTime.js
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* @param {number} [time=1000] 延时时间,单位毫秒
|
|
8
8
|
* @returns {Promise<void>}
|
|
9
9
|
* @example
|
|
10
|
+
*
|
|
10
11
|
* const test = async ()=>{
|
|
11
12
|
* await waitTime();
|
|
12
13
|
* // do something
|
|
@@ -14,7 +15,8 @@
|
|
|
14
15
|
*
|
|
15
16
|
* waitTime(500).then(()=>{
|
|
16
17
|
* // do something
|
|
17
|
-
* })
|
|
18
|
+
* });
|
|
19
|
+
*
|
|
18
20
|
*/
|
|
19
21
|
function waitTime() {
|
|
20
22
|
var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1000;
|
package/lib/bytesToSize.js
CHANGED
|
@@ -15,17 +15,11 @@ exports["default"] = void 0;
|
|
|
15
15
|
* @returns {string} 存储单位值
|
|
16
16
|
* @example
|
|
17
17
|
*
|
|
18
|
-
* bytesToSize(0);
|
|
19
|
-
* //
|
|
20
|
-
*
|
|
21
|
-
* bytesToSize(1024);
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* bytesToSize(3.213243*1024*1024);
|
|
25
|
-
* // => 3.21 MB
|
|
26
|
-
*
|
|
27
|
-
* bytesToSize(1024*1024*1024);
|
|
28
|
-
* // => 1 GB
|
|
18
|
+
* bytesToSize(0); // 0 B
|
|
19
|
+
* bytesToSize(1024); // 1 KB
|
|
20
|
+
* bytesToSize(3.213243*1024*1024); // 3.21 MB
|
|
21
|
+
* bytesToSize(1024*1024*1024); // 1 GB
|
|
22
|
+
*
|
|
29
23
|
*/
|
|
30
24
|
function bytesToSize(bytes) {
|
|
31
25
|
var numBytes = typeof bytes !== 'number' ? Number(bytes) : bytes;
|
|
@@ -9,7 +9,7 @@ var _normalizeString = _interopRequireDefault(require("./normalizeString"));
|
|
|
9
9
|
|
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
11
|
|
|
12
|
-
//
|
|
12
|
+
// 参考了: https://github.com/ant-design/ant-design-mobile/blob/v2/components/input-item/index.tsx#L240
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* 计算输入框的值格式化后光标位置
|
package/lib/dataURLToBlob.js
CHANGED
|
@@ -16,7 +16,7 @@ exports["default"] = void 0;
|
|
|
16
16
|
* @returns {Blob} Blob 对象
|
|
17
17
|
* @example
|
|
18
18
|
* const dataurl = 'data:text/html;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=';
|
|
19
|
-
* dataURLToBlob(dataurl);
|
|
19
|
+
* dataURLToBlob(dataurl); // Blob {size: 32, type: 'text/html'}
|
|
20
20
|
*/
|
|
21
21
|
function dataURLToBlob(dataurl) {
|
|
22
22
|
var arr = dataurl.split(','); // @ts-ignore
|
package/lib/divide.js
CHANGED
|
@@ -41,6 +41,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
41
41
|
* divide(); // NaN 如果没有传入参数,被除数默认为 undefined 。 Number(undefined) 转换为 NaN ,NaN/1 = NaN
|
|
42
42
|
* divide(null); // 0 Number(null) 转换为 0 , 0/1 = 0
|
|
43
43
|
* divide('1.5 ', 0.5); // 3 Number('1.5 ') 转换为 1.5 ,1.5/0.5 = 3
|
|
44
|
+
*
|
|
44
45
|
*/
|
|
45
46
|
function divide() {
|
|
46
47
|
for (var _len = arguments.length, nums = new Array(_len), _key = 0; _key < _len; _key++) {
|
package/lib/formatBankCard.js
CHANGED
|
@@ -23,20 +23,16 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
|
|
|
23
23
|
* @example
|
|
24
24
|
*
|
|
25
25
|
* // 19位银行卡
|
|
26
|
-
* formatBankCard('6228480402564890018');
|
|
27
|
-
* // => 6228 4804 0256 4890 018
|
|
26
|
+
* formatBankCard('6228480402564890018'); // 6228 4804 0256 4890 018
|
|
28
27
|
*
|
|
29
28
|
* // 16位银行卡
|
|
30
|
-
* formatBankCard('6228480402564890');
|
|
31
|
-
* // => 6228 4804 0256 4890
|
|
29
|
+
* formatBankCard('6228480402564890'); // 6228 4804 0256 4890
|
|
32
30
|
*
|
|
33
31
|
* // 脱敏银行卡
|
|
34
|
-
* formatBankCard('6228********890');
|
|
35
|
-
* // => 6228 **** **** 890
|
|
32
|
+
* formatBankCard('6228********890'); // 6228 **** **** 890
|
|
36
33
|
*
|
|
37
34
|
* // 16位银行卡,"-"间隔
|
|
38
|
-
* formatBankCard('6228480402564890', {char: '-'});
|
|
39
|
-
* // => 6228-4804-0256-4890
|
|
35
|
+
* formatBankCard('6228480402564890', {char: '-'}); // 6228-4804-0256-4890
|
|
40
36
|
*
|
|
41
37
|
*/
|
|
42
38
|
function formatBankCard() {
|
package/lib/formatMobile.js
CHANGED
|
@@ -20,17 +20,19 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
|
|
|
20
20
|
* @param {string} [options.char=' '] 间隔字符
|
|
21
21
|
* @returns {string} 格式化后的手机号码
|
|
22
22
|
* @example
|
|
23
|
-
*
|
|
24
|
-
* formatMobile('13345678900'
|
|
23
|
+
*
|
|
24
|
+
* formatMobile('13345678900'); // 133 4567 8900
|
|
25
|
+
* formatMobile('13345678900', { char: '-' }); // 133-4567-8900
|
|
25
26
|
*
|
|
26
27
|
* // 脱敏手机号码
|
|
27
|
-
* formatMobile('133****1234') //
|
|
28
|
-
* formatMobile('133****1234', { char: '-' }) //
|
|
28
|
+
* formatMobile('133****1234'); // 133 **** 1234
|
|
29
|
+
* formatMobile('133****1234', { char: '-' }); // 133-****-1234
|
|
29
30
|
*
|
|
30
31
|
* // 手机号码位数不够
|
|
31
|
-
* formatMobile('133') //
|
|
32
|
-
* formatMobile('133456') //
|
|
33
|
-
* formatMobile('13345678') //
|
|
32
|
+
* formatMobile('133'); // 133
|
|
33
|
+
* formatMobile('133456'); // 133 456
|
|
34
|
+
* formatMobile('13345678'); // 133 4567 8
|
|
35
|
+
*
|
|
34
36
|
*/
|
|
35
37
|
function formatMobile(mobileNo) {
|
|
36
38
|
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
package/lib/formatMoney.js
CHANGED
|
@@ -116,32 +116,26 @@ function formatDec(decStr, precision, decimal) {
|
|
|
116
116
|
* @example
|
|
117
117
|
*
|
|
118
118
|
* // 整数
|
|
119
|
-
* formatMoney('1000');
|
|
120
|
-
* // => 1,000.00
|
|
119
|
+
* formatMoney('1000'); // 1,000.00
|
|
121
120
|
*
|
|
122
121
|
* // 小数(默认保留2位小数)
|
|
123
|
-
* formatMoney('3000.03');
|
|
124
|
-
* // => 3,000.03
|
|
122
|
+
* formatMoney('3000.03'); // 3,000.03
|
|
125
123
|
*
|
|
126
124
|
* // 保留4位小数
|
|
127
|
-
* formatMoney('3000.0300', { precision: 4 });
|
|
128
|
-
* // => 3,000.0300
|
|
125
|
+
* formatMoney('3000.0300', { precision: 4 }); // 3,000.0300
|
|
129
126
|
*
|
|
130
127
|
* // 保留10位小数
|
|
131
|
-
* formatMoney('1500.2', { precision: 10 });
|
|
132
|
-
* // => 1,500.2000000000
|
|
128
|
+
* formatMoney('1500.2', { precision: 10 }); // 1,500.2000000000
|
|
133
129
|
*
|
|
134
130
|
* // 自定义单位符号
|
|
135
|
-
* formatMoney(1000.00, { symbol: '$' });
|
|
136
|
-
* // => $1,000.00
|
|
131
|
+
* formatMoney(1000.00, { symbol: '$' }); // $1,000.00
|
|
137
132
|
*
|
|
138
133
|
* // 自定义千位分割符(默认',')
|
|
139
|
-
* formatMoney(1000.00, { thousand: '|' });
|
|
140
|
-
* // => 1|000.00
|
|
134
|
+
* formatMoney(1000.00, { thousand: '|' }); // 1|000.00
|
|
141
135
|
*
|
|
142
136
|
* // 自定义小数位分割符(默认'.')
|
|
143
|
-
* formatMoney(1000.00, { decimal: '&' });
|
|
144
|
-
*
|
|
137
|
+
* formatMoney(1000.00, { decimal: '&' }); // 1,000&00
|
|
138
|
+
*
|
|
145
139
|
*/
|
|
146
140
|
|
|
147
141
|
|
package/lib/isBankCard.js
CHANGED
|
@@ -46,17 +46,12 @@ function sumCheckCode(numStr) {
|
|
|
46
46
|
* @returns {boolean} 值是否为银行卡号
|
|
47
47
|
* @example
|
|
48
48
|
*
|
|
49
|
-
* isBankCard('6228480402564890018');
|
|
50
|
-
* //
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
* //
|
|
54
|
-
*
|
|
55
|
-
* isBankCard('123456789');
|
|
56
|
-
* // => false
|
|
57
|
-
*
|
|
58
|
-
* isBankCard('123456789', { loose: true });
|
|
59
|
-
* // => true
|
|
49
|
+
* isBankCard('6228480402564890018'); // true
|
|
50
|
+
* isBankCard('6228480402564890'); // true
|
|
51
|
+
* isBankCard('123456789'); // false
|
|
52
|
+
*
|
|
53
|
+
* // 宽松模式
|
|
54
|
+
* isBankCard('123456789', { loose: true }); // true
|
|
60
55
|
*
|
|
61
56
|
*/
|
|
62
57
|
|
package/lib/isBusinessLicense.js
CHANGED
|
@@ -55,17 +55,14 @@ function sumCheckCode(preCode) {
|
|
|
55
55
|
* @returns {boolean} 值是否为营业执照号
|
|
56
56
|
* @example
|
|
57
57
|
*
|
|
58
|
-
* isBusinessLicense('310115600985533');
|
|
59
|
-
* //
|
|
58
|
+
* isBusinessLicense('310115600985533'); // true
|
|
59
|
+
* isBusinessLicense('310115600985535'); // false
|
|
60
60
|
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
* isBusinessLicense('
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
* isBusinessLicense('31011560098', { checkCode: false });
|
|
68
|
-
* // => false
|
|
61
|
+
* // 不校验验证码,长度和类型还是有校验
|
|
62
|
+
* isBusinessLicense('310115600985535', { checkCode: false }); // true
|
|
63
|
+
* isBusinessLicense('ac115600985535', { checkCode: false }); // false
|
|
64
|
+
* isBusinessLicense('31011560098', { checkCode: false }); // false
|
|
65
|
+
*
|
|
69
66
|
*/
|
|
70
67
|
|
|
71
68
|
|
package/lib/isChinese.js
CHANGED
|
@@ -48,27 +48,20 @@ var supportRegExpUnicode = RegExp.prototype.hasOwnProperty('unicode');
|
|
|
48
48
|
* @returns {boolean} 值是否为中文
|
|
49
49
|
* @example
|
|
50
50
|
*
|
|
51
|
-
* isChinese('林某某');
|
|
52
|
-
* //
|
|
53
|
-
*
|
|
54
|
-
* isChinese('林A');
|
|
55
|
-
* // => false
|
|
51
|
+
* isChinese('林某某'); // true
|
|
52
|
+
* isChinese('林A'); // false
|
|
56
53
|
*
|
|
57
54
|
* // 宽松模式,只要包含中文即为true
|
|
58
|
-
* isChinese('林A', { loose: true });
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
* isChinese('A林A', { loose: true });
|
|
62
|
-
* // => true
|
|
63
|
-
*
|
|
64
|
-
* isChinese('𠮷');
|
|
65
|
-
* // => false
|
|
55
|
+
* isChinese('林A', { loose: true }); // true
|
|
56
|
+
* isChinese('A林A', { loose: true }); // true
|
|
66
57
|
*
|
|
58
|
+
* // 扩展字符集的字符
|
|
59
|
+
* isChinese('𠮷'); // false
|
|
60
|
+
*
|
|
67
61
|
* // 使用中文扩展字符集,需要浏览器支持 RegExp.prototype.unicode 才生效。
|
|
68
|
-
* isChinese('𠮷', { useExtend: true });
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
* // => true
|
|
62
|
+
* isChinese('𠮷', { useExtend: true }); // true
|
|
63
|
+
* isChinese('𠮷aa', { useExtend: true, loose: true }); // true
|
|
64
|
+
*
|
|
72
65
|
*/
|
|
73
66
|
|
|
74
67
|
function isChinese(value) {
|
package/lib/isEmail.js
CHANGED
|
@@ -21,11 +21,8 @@ var reg = /^[\da-z]+([\-\.\_]?[\da-z]+)*@[\da-z]+([\-\.]?[\da-z]+)*(\.[a-z]{2,})
|
|
|
21
21
|
* @returns {boolean} 值是否为Email
|
|
22
22
|
* @example
|
|
23
23
|
*
|
|
24
|
-
* isEmail('1232@qq.com');
|
|
25
|
-
* //
|
|
26
|
-
*
|
|
27
|
-
* isEmail('123@');
|
|
28
|
-
* // => false
|
|
24
|
+
* isEmail('1232@qq.com'); // true
|
|
25
|
+
* isEmail('123@'); // false
|
|
29
26
|
*
|
|
30
27
|
*/
|
|
31
28
|
|
package/lib/isHMCard.js
CHANGED
|
@@ -22,16 +22,16 @@ var regHMCard = /^[hm]{1}([0-9]{10}|[0-9]{8})$/i;
|
|
|
22
22
|
* @returns {boolean} 是否为港澳居民来往内地通行证
|
|
23
23
|
* @example
|
|
24
24
|
* // 第一代 11 位
|
|
25
|
-
* isHMCard('h3203117707') // true
|
|
26
|
-
* isHMCard('H3203117707') // true
|
|
27
|
-
* isHMCard('m3203117707') // true
|
|
28
|
-
* isHMCard('M3203117707') // true
|
|
25
|
+
* isHMCard('h3203117707'); // true
|
|
26
|
+
* isHMCard('H3203117707'); // true
|
|
27
|
+
* isHMCard('m3203117707'); // true
|
|
28
|
+
* isHMCard('M3203117707'); // true
|
|
29
29
|
*
|
|
30
30
|
* // 第二代 9 位
|
|
31
|
-
* isHMCard('h32031177') // true
|
|
32
|
-
* isHMCard('H32031177') // true
|
|
33
|
-
* isHMCard('m32031177') // true
|
|
34
|
-
* isHMCard('M32031177') // true
|
|
31
|
+
* isHMCard('h32031177'); // true
|
|
32
|
+
* isHMCard('H32031177'); // true
|
|
33
|
+
* isHMCard('m32031177'); // true
|
|
34
|
+
* isHMCard('M32031177'); // true
|
|
35
35
|
*/
|
|
36
36
|
|
|
37
37
|
function isHMCard(value) {
|
package/lib/isIPv4.js
CHANGED
|
@@ -21,17 +21,10 @@ var reg = /^((\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.){3}(\d{1,2}|1\d\d|2[0-4]\d|25[0-
|
|
|
21
21
|
* @returns {boolean} 值是否为ipv4
|
|
22
22
|
* @example
|
|
23
23
|
*
|
|
24
|
-
* isIPv4('192.168.1.1');
|
|
25
|
-
* //
|
|
26
|
-
*
|
|
27
|
-
* isIPv4('
|
|
28
|
-
* // => true
|
|
29
|
-
*
|
|
30
|
-
* isIPv4('256.256.256.256');
|
|
31
|
-
* // => false
|
|
32
|
-
*
|
|
33
|
-
* isIPv4('0.0');
|
|
34
|
-
* // => false
|
|
24
|
+
* isIPv4('192.168.1.1'); // true
|
|
25
|
+
* isIPv4('255.255.255.255'); // true
|
|
26
|
+
* isIPv4('256.256.256.256'); // false
|
|
27
|
+
* isIPv4('0.0'); // false
|
|
35
28
|
*
|
|
36
29
|
*/
|
|
37
30
|
|