@ivujs/i-utils 1.1.14 → 1.1.16
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/cjs/ID-card/index.cjs +87 -0
- package/dist/cjs/array/index.cjs +470 -0
- package/dist/cjs/clipboard/index.cjs +128 -0
- package/dist/cjs/color/index.cjs +193 -0
- package/dist/cjs/constants/date.cjs +178 -0
- package/dist/cjs/constants/id-card.cjs +52 -0
- package/dist/cjs/constants/keycode.cjs +117 -0
- package/dist/cjs/constants/lang.cjs +13 -0
- package/dist/cjs/constants/math.cjs +13 -0
- package/dist/cjs/constants/regexp.cjs +53 -0
- package/dist/cjs/constants/sort.cjs +15 -0
- package/dist/cjs/cookie/index.cjs +70 -0
- package/dist/cjs/crypto/aes/aes.cjs +480 -0
- package/dist/cjs/crypto/aes/index.cjs +27 -0
- package/dist/cjs/crypto/base32/base32.cjs +357 -0
- package/dist/cjs/crypto/base32/index.cjs +41 -0
- package/dist/cjs/crypto/base64/base64.cjs +348 -0
- package/dist/cjs/crypto/base64/index.cjs +59 -0
- package/dist/cjs/crypto/des/des.cjs +257 -0
- package/dist/cjs/crypto/des/index.cjs +28 -0
- package/dist/cjs/crypto/md5/index.cjs +24 -0
- package/dist/cjs/crypto/md5/md5.cjs +897 -0
- package/dist/cjs/crypto/sha/sha1/index.cjs +24 -0
- package/dist/cjs/crypto/sha/sha1/sha1.cjs +529 -0
- package/dist/cjs/crypto/sha/sha256/index.cjs +43 -0
- package/dist/cjs/crypto/sha/sha256/sha256.cjs +595 -0
- package/dist/cjs/crypto/sha/sha3/index.cjs +41 -0
- package/dist/cjs/crypto/sha/sha3/sha3.cjs +624 -0
- package/dist/cjs/crypto/sha/sha512/index.cjs +81 -0
- package/dist/cjs/crypto/sha/sha512/sha512.cjs +950 -0
- package/dist/cjs/crypto/sm/lib/asn1.cjs +149 -0
- package/dist/cjs/crypto/sm/lib/ec.cjs +315 -0
- package/dist/cjs/crypto/sm/lib/jsbn.cjs +1608 -0
- package/dist/cjs/crypto/sm/lib/sm3.cjs +158 -0
- package/dist/cjs/crypto/sm/lib/utils.cjs +170 -0
- package/dist/cjs/crypto/sm/sm2/index.cjs +112 -0
- package/dist/cjs/crypto/sm/sm2/sm2.cjs +231 -0
- package/dist/cjs/crypto/sm/sm3/index.cjs +15 -0
- package/dist/cjs/crypto/sm/sm3/sm3.cjs +93 -0
- package/dist/cjs/crypto/sm/sm4/index.cjs +27 -0
- package/dist/cjs/crypto/sm/sm4/sm4.cjs +327 -0
- package/dist/cjs/crypto/tea/index.cjs +25 -0
- package/dist/cjs/crypto/tea/tea.cjs +187 -0
- package/dist/cjs/date/index.cjs +1266 -0
- package/dist/cjs/desensitized/index.cjs +75 -0
- package/dist/cjs/device/index.cjs +151 -0
- package/dist/cjs/dom/index.cjs +129 -0
- package/dist/cjs/file/index.cjs +333 -0
- package/dist/cjs/function/index.cjs +69 -0
- package/dist/cjs/id/index.cjs +1 -1
- package/dist/cjs/index.cjs +398 -47
- package/dist/cjs/keycode/index.cjs +33 -0
- package/dist/cjs/math/index.cjs +278 -0
- package/dist/cjs/number/index.cjs +31 -0
- package/dist/cjs/object/index.cjs +272 -0
- package/dist/cjs/pagination/index.cjs +131 -0
- package/dist/cjs/random/index.cjs +24 -0
- package/dist/cjs/regexp/index.cjs +100 -0
- package/dist/cjs/storage/index.cjs +11 -0
- package/dist/cjs/storage/localStorage.cjs +37 -0
- package/dist/cjs/storage/sessionStorage.cjs +37 -0
- package/dist/cjs/string/index.cjs +358 -0
- package/dist/cjs/url/index.cjs +258 -0
- package/dist/cjs/validate/index.cjs +468 -0
- package/dist/cjs/weapp/index.cjs +142 -0
- package/dist/es/ID-card/index.d.ts +31 -0
- package/dist/es/ID-card/index.mjs +81 -0
- package/dist/es/array/index.d.ts +203 -0
- package/dist/es/array/index.mjs +441 -0
- package/dist/es/clipboard/index.d.ts +29 -0
- package/dist/es/clipboard/index.mjs +122 -0
- package/dist/es/color/index.d.ts +52 -0
- package/dist/es/color/index.mjs +183 -0
- package/dist/es/constants/date.d.ts +174 -0
- package/dist/es/constants/date.mjs +176 -0
- package/dist/es/constants/id-card.d.ts +43 -0
- package/dist/es/constants/id-card.mjs +50 -0
- package/dist/es/constants/index.d.ts +7 -0
- package/dist/es/constants/keycode.d.ts +103 -0
- package/dist/es/constants/keycode.mjs +115 -0
- package/dist/es/constants/lang.d.ts +4 -0
- package/dist/es/constants/lang.mjs +11 -0
- package/dist/es/constants/math.d.ts +4 -0
- package/dist/es/constants/math.mjs +11 -0
- package/dist/es/constants/regexp.d.ts +24 -0
- package/dist/es/constants/regexp.mjs +51 -0
- package/dist/es/constants/sort.d.ts +5 -0
- package/dist/es/constants/sort.mjs +13 -0
- package/dist/es/cookie/index.d.ts +29 -0
- package/dist/es/cookie/index.mjs +64 -0
- package/dist/es/crypto/aes/aes.d.ts +156 -0
- package/dist/es/crypto/aes/aes.mjs +478 -0
- package/dist/es/crypto/aes/index.d.ts +16 -0
- package/dist/es/crypto/aes/index.mjs +24 -0
- package/dist/es/crypto/base32/base32.d.ts +3 -0
- package/dist/es/crypto/base32/base32.mjs +353 -0
- package/dist/es/crypto/base32/index.d.ts +24 -0
- package/dist/es/crypto/base32/index.mjs +36 -0
- package/dist/es/crypto/base64/base64.d.ts +5 -0
- package/dist/es/crypto/base64/base64.mjs +342 -0
- package/dist/es/crypto/base64/index.d.ts +36 -0
- package/dist/es/crypto/base64/index.mjs +52 -0
- package/dist/es/crypto/des/des.d.ts +52 -0
- package/dist/es/crypto/des/des.mjs +255 -0
- package/dist/es/crypto/des/index.d.ts +14 -0
- package/dist/es/crypto/des/index.mjs +25 -0
- package/dist/es/crypto/index.d.ts +8 -0
- package/dist/es/crypto/md5/index.d.ts +13 -0
- package/dist/es/crypto/md5/index.mjs +21 -0
- package/dist/es/crypto/md5/md5.d.ts +144 -0
- package/dist/es/crypto/md5/md5.mjs +894 -0
- package/dist/es/crypto/sha/index.d.ts +4 -0
- package/dist/es/crypto/sha/sha1/index.d.ts +13 -0
- package/dist/es/crypto/sha/sha1/index.mjs +21 -0
- package/dist/es/crypto/sha/sha1/sha1.d.ts +2 -0
- package/dist/es/crypto/sha/sha1/sha1.mjs +526 -0
- package/dist/es/crypto/sha/sha256/index.d.ts +26 -0
- package/dist/es/crypto/sha/sha256/index.mjs +38 -0
- package/dist/es/crypto/sha/sha256/sha256.d.ts +4 -0
- package/dist/es/crypto/sha/sha256/sha256.mjs +590 -0
- package/dist/es/crypto/sha/sha3/index.d.ts +24 -0
- package/dist/es/crypto/sha/sha3/index.mjs +36 -0
- package/dist/es/crypto/sha/sha3/sha3.d.ts +4 -0
- package/dist/es/crypto/sha/sha3/sha3.mjs +619 -0
- package/dist/es/crypto/sha/sha512/index.d.ts +52 -0
- package/dist/es/crypto/sha/sha512/index.mjs +72 -0
- package/dist/es/crypto/sha/sha512/sha512.d.ts +8 -0
- package/dist/es/crypto/sha/sha512/sha512.mjs +941 -0
- package/dist/es/crypto/sm/index.d.ts +3 -0
- package/dist/es/crypto/sm/lib/asn1.d.ts +12 -0
- package/dist/es/crypto/sm/lib/asn1.mjs +146 -0
- package/dist/es/crypto/sm/lib/ec.d.ts +126 -0
- package/dist/es/crypto/sm/lib/ec.mjs +312 -0
- package/dist/es/crypto/sm/lib/jsbn.d.ts +198 -0
- package/dist/es/crypto/sm/lib/jsbn.mjs +1605 -0
- package/dist/es/crypto/sm/lib/sm3.d.ts +5 -0
- package/dist/es/crypto/sm/lib/sm3.mjs +155 -0
- package/dist/es/crypto/sm/lib/utils.d.ts +53 -0
- package/dist/es/crypto/sm/lib/utils.mjs +158 -0
- package/dist/es/crypto/sm/sm2/index.d.ts +71 -0
- package/dist/es/crypto/sm/sm2/index.mjs +101 -0
- package/dist/es/crypto/sm/sm2/sm2.d.ts +34 -0
- package/dist/es/crypto/sm/sm2/sm2.mjs +220 -0
- package/dist/es/crypto/sm/sm3/index.d.ts +7 -0
- package/dist/es/crypto/sm/sm3/index.mjs +13 -0
- package/dist/es/crypto/sm/sm3/sm3.d.ts +1 -0
- package/dist/es/crypto/sm/sm3/sm3.mjs +91 -0
- package/dist/es/crypto/sm/sm4/index.d.ts +16 -0
- package/dist/es/crypto/sm/sm4/index.mjs +24 -0
- package/dist/es/crypto/sm/sm4/sm4.d.ts +2 -0
- package/dist/es/crypto/sm/sm4/sm4.mjs +324 -0
- package/dist/es/crypto/tea/index.d.ts +14 -0
- package/dist/es/crypto/tea/index.mjs +22 -0
- package/dist/es/crypto/tea/tea.d.ts +69 -0
- package/dist/es/crypto/tea/tea.mjs +185 -0
- package/dist/es/date/index.d.ts +547 -0
- package/dist/es/date/index.mjs +1179 -0
- package/dist/es/desensitized/index.d.ts +38 -0
- package/dist/es/desensitized/index.mjs +69 -0
- package/dist/es/device/index.d.ts +67 -0
- package/dist/es/device/index.mjs +137 -0
- package/dist/es/dom/index.d.ts +57 -0
- package/dist/es/dom/index.mjs +119 -0
- package/dist/es/file/index.d.ts +93 -0
- package/dist/es/file/index.mjs +317 -0
- package/dist/es/function/index.d.ts +23 -0
- package/dist/es/function/index.mjs +65 -0
- package/dist/es/id/index.mjs +1 -1
- package/dist/es/index.d.ts +25 -42
- package/dist/es/index.mjs +54 -40
- package/dist/es/keycode/index.d.ts +12 -0
- package/dist/es/keycode/index.mjs +30 -0
- package/dist/es/math/index.d.ts +66 -0
- package/dist/es/math/index.mjs +268 -0
- package/dist/es/number/index.d.ts +14 -0
- package/dist/es/number/index.mjs +28 -0
- package/dist/es/object/index.d.ts +83 -0
- package/dist/es/object/index.mjs +259 -0
- package/dist/es/pagination/index.d.ts +34 -0
- package/dist/es/pagination/index.mjs +125 -0
- package/dist/es/random/index.d.ts +15 -0
- package/dist/es/random/index.mjs +21 -0
- package/dist/es/regexp/index.d.ts +63 -0
- package/dist/es/regexp/index.mjs +89 -0
- package/dist/es/storage/index.d.ts +7 -0
- package/dist/es/storage/index.mjs +9 -0
- package/dist/es/storage/localStorage.d.ts +21 -0
- package/dist/es/storage/localStorage.mjs +32 -0
- package/dist/es/storage/sessionStorage.d.ts +21 -0
- package/dist/es/storage/sessionStorage.mjs +32 -0
- package/dist/es/string/index.d.ts +121 -0
- package/dist/es/string/index.mjs +339 -0
- package/dist/es/url/index.d.ts +118 -0
- package/dist/es/url/index.mjs +240 -0
- package/dist/es/validate/index.d.ts +228 -0
- package/dist/es/validate/index.mjs +431 -0
- package/dist/es/weapp/index.d.ts +57 -0
- package/dist/es/weapp/index.mjs +131 -0
- package/dist/index.d.ts +2850 -53
- package/dist/lib/index.full.cjs.js +14230 -67
- package/dist/lib/index.full.cjs.min.js +64 -2
- package/dist/lib/index.full.cjs.min.js.map +1 -1
- package/dist/lib/index.full.esm.js +13881 -63
- package/dist/lib/index.full.esm.min.js +59 -2
- package/dist/lib/index.full.esm.min.js.map +1 -1
- package/dist/lib/index.full.umd.js +14230 -67
- package/dist/lib/index.full.umd.min.js +64 -2
- package/dist/lib/index.full.umd.min.js.map +1 -1
- package/dist/resolver/auto-imports.cjs +337 -11
- package/dist/resolver/auto-imports.mjs +337 -11
- package/dist/resolver/index.cjs +1 -1
- package/dist/resolver/index.mjs +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* rgb颜色转hex
|
|
5
|
+
* @param {String} rgb rgb颜色字符串
|
|
6
|
+
* @returns {String} 返回生成的hex颜色
|
|
7
|
+
*/
|
|
8
|
+
function rgbToHex(rgb) {
|
|
9
|
+
let arr = rgb.split(",");
|
|
10
|
+
let r = parseInt(arr[0].split("(")[1]);
|
|
11
|
+
let g = parseInt(arr[1]);
|
|
12
|
+
let b = parseInt(arr[2].split(")")[0]);
|
|
13
|
+
return "#" + _hex(r) + _hex(g) + _hex(b);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* rgba颜色转hex
|
|
17
|
+
* @param {String} rgba rgba颜色字符串
|
|
18
|
+
* @returns {String} 返回生成的hex颜色
|
|
19
|
+
*/
|
|
20
|
+
function rgbaToHex(rgba) {
|
|
21
|
+
let arr = rgba.split(",");
|
|
22
|
+
let r = parseInt(arr[0].split("(")[1]);
|
|
23
|
+
let g = parseInt(arr[1]);
|
|
24
|
+
let b = parseInt(arr[2]);
|
|
25
|
+
let a = parseFloat(arr[3].split(")")[0]);
|
|
26
|
+
return `#${_hex(Math.round(a * 256 - 1))}${_hex(r)}${_hex(g)}${_hex(b)}`;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* rgba颜色转hsl
|
|
30
|
+
* @param {String} rgba rgb颜色字符串
|
|
31
|
+
* @returns {String} 返回生成的hsl颜色
|
|
32
|
+
*/
|
|
33
|
+
function rgbaToHsl(rgba) {
|
|
34
|
+
let arr = rgba.split(",");
|
|
35
|
+
let r = parseInt(arr[0].split("(")[1]) / 255;
|
|
36
|
+
let g = parseInt(arr[1]) / 255;
|
|
37
|
+
let b = parseInt(arr[2]) / 255;
|
|
38
|
+
let a = parseFloat(arr[3] && arr[3].split(")")[0]);
|
|
39
|
+
let max = Math.max(r, g, b), min = Math.min(r, g, b);
|
|
40
|
+
let h, s, l = (max + min) / 2;
|
|
41
|
+
if (max === min) {
|
|
42
|
+
h = s = 0;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
let d = max - min;
|
|
46
|
+
s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
|
|
47
|
+
switch (max) {
|
|
48
|
+
case r:
|
|
49
|
+
h = (g - b) / d + (g < b ? 6 : 0);
|
|
50
|
+
break;
|
|
51
|
+
case g:
|
|
52
|
+
h = (b - r) / d + 2;
|
|
53
|
+
break;
|
|
54
|
+
case b:
|
|
55
|
+
h = (r - g) / d + 4;
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
h /= 6;
|
|
59
|
+
}
|
|
60
|
+
if (a) {
|
|
61
|
+
return `hsla(${Math.round(h * 360)},${Math.round(s * 100)}%,${Math.round(l * 100)}%,${a})`;
|
|
62
|
+
}
|
|
63
|
+
return `hsl(${Math.round(h * 360)},${Math.round(s * 100)}%,${Math.round(l * 100)}%)`;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* hex颜色转rgb
|
|
67
|
+
* @param {String} hex hex颜色字符串
|
|
68
|
+
* @returns {String} 返回生成的rgb颜色
|
|
69
|
+
*/
|
|
70
|
+
function hexToRgb(hex) {
|
|
71
|
+
let color = {};
|
|
72
|
+
let rgx = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
|
|
73
|
+
let hexStr = hex.replace(rgx, function (m, r, g, b) {
|
|
74
|
+
return r + r + g + g + b + b;
|
|
75
|
+
});
|
|
76
|
+
let rgb = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hexStr);
|
|
77
|
+
color.r = parseInt(rgb[1], 16);
|
|
78
|
+
color.g = parseInt(rgb[2], 16);
|
|
79
|
+
color.b = parseInt(rgb[3], 16);
|
|
80
|
+
return `rgb(${color.r},${color.g},${color.b})`;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* hex颜色转rgba
|
|
84
|
+
* @param {String} hex hex颜色字符串
|
|
85
|
+
* @param {Number} opacity 透明度
|
|
86
|
+
* @returns {String} 返回生成的rgba颜色
|
|
87
|
+
*/
|
|
88
|
+
function hexToRgba(hex, opacity = 1) {
|
|
89
|
+
let color = {};
|
|
90
|
+
let rgx = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
|
|
91
|
+
let hexStr = hex.replace(rgx, function (m, r, g, b) {
|
|
92
|
+
return r + r + g + g + b + b;
|
|
93
|
+
});
|
|
94
|
+
let rgb = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hexStr);
|
|
95
|
+
color.r = parseInt(rgb[1], 16);
|
|
96
|
+
color.g = parseInt(rgb[2], 16);
|
|
97
|
+
color.b = parseInt(rgb[3], 16);
|
|
98
|
+
color.o = opacity;
|
|
99
|
+
return `rgba(${color.r},${color.g},${color.b},${color.o})`;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* hex颜色转hsl
|
|
103
|
+
* @param {String} hex hex颜色字符串
|
|
104
|
+
* @returns {String} 返回生成的hsl颜色
|
|
105
|
+
*/
|
|
106
|
+
function hexToHsl(hex) {
|
|
107
|
+
// 先解析为rgb
|
|
108
|
+
let rgx = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
|
|
109
|
+
let hexStr = hex.replace(rgx, function (m, r, g, b) {
|
|
110
|
+
return r + r + g + g + b + b;
|
|
111
|
+
});
|
|
112
|
+
let rgb = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hexStr);
|
|
113
|
+
// 再组装为hsl格式
|
|
114
|
+
let r = parseInt(rgb[1], 16) / 255;
|
|
115
|
+
let g = parseInt(rgb[2], 16) / 255;
|
|
116
|
+
let b = parseInt(rgb[3], 16) / 255;
|
|
117
|
+
let max = Math.max(r, g, b), min = Math.min(r, g, b);
|
|
118
|
+
let h, s, l = (max + min) / 2;
|
|
119
|
+
if (max === min) {
|
|
120
|
+
h = s = 0;
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
let d = max - min;
|
|
124
|
+
s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
|
|
125
|
+
switch (max) {
|
|
126
|
+
case r:
|
|
127
|
+
h = (g - b) / d + (g < b ? 6 : 0);
|
|
128
|
+
break;
|
|
129
|
+
case g:
|
|
130
|
+
h = (b - r) / d + 2;
|
|
131
|
+
break;
|
|
132
|
+
case b:
|
|
133
|
+
h = (r - g) / d + 4;
|
|
134
|
+
break;
|
|
135
|
+
}
|
|
136
|
+
h /= 6;
|
|
137
|
+
}
|
|
138
|
+
return `hsl(${Math.round(h * 360)},${Math.round(s * 100)}%,${Math.round(l * 100)}%)`;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* 随机生成hex颜色
|
|
142
|
+
* @returns {String} 返回生成的十六进制颜色
|
|
143
|
+
*/
|
|
144
|
+
function getDrawHex() {
|
|
145
|
+
return ("#" +
|
|
146
|
+
(function (h) {
|
|
147
|
+
return new Array(7 - h.length).join("0") + h;
|
|
148
|
+
})(((Math.random() * 0x1000000) << 0).toString(16)));
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* 随机生成rgb颜色
|
|
152
|
+
* @returns {String} 返回生成的 rgb 颜色
|
|
153
|
+
*/
|
|
154
|
+
function getDrawRgb() {
|
|
155
|
+
let r = Math.floor(Math.random() * 256);
|
|
156
|
+
let g = Math.floor(Math.random() * 256);
|
|
157
|
+
let b = Math.floor(Math.random() * 256);
|
|
158
|
+
return `rgb(${r},${g},${b})`;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* 随机生成rgba颜色
|
|
162
|
+
* @returns {String} 返回生成的 rgba 颜色
|
|
163
|
+
*/
|
|
164
|
+
function getDrawRgba() {
|
|
165
|
+
let r = Math.floor(Math.random() * 256);
|
|
166
|
+
let g = Math.floor(Math.random() * 256);
|
|
167
|
+
let b = Math.floor(Math.random() * 256);
|
|
168
|
+
let a = Number(Math.random()).toFixed(2);
|
|
169
|
+
return `rgba(${r},${g},${b},${a})`;
|
|
170
|
+
}
|
|
171
|
+
// 内部函数
|
|
172
|
+
/**
|
|
173
|
+
* 颜色值转换
|
|
174
|
+
* @param {Number} num 转换的值
|
|
175
|
+
* @returns
|
|
176
|
+
*/
|
|
177
|
+
function _hex(num) {
|
|
178
|
+
if (num > 255) {
|
|
179
|
+
throw "'" + num + "'' is greater than 255(0xff);";
|
|
180
|
+
}
|
|
181
|
+
let str = Number(num).toString(16);
|
|
182
|
+
return ("0" + str).slice(-2);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
exports.getDrawHex = getDrawHex;
|
|
186
|
+
exports.getDrawRgb = getDrawRgb;
|
|
187
|
+
exports.getDrawRgba = getDrawRgba;
|
|
188
|
+
exports.hexToHsl = hexToHsl;
|
|
189
|
+
exports.hexToRgb = hexToRgb;
|
|
190
|
+
exports.hexToRgba = hexToRgba;
|
|
191
|
+
exports.rgbToHex = rgbToHex;
|
|
192
|
+
exports.rgbaToHex = rgbaToHex;
|
|
193
|
+
exports.rgbaToHsl = rgbaToHsl;
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 日期
|
|
5
|
+
*/
|
|
6
|
+
const DATE = {
|
|
7
|
+
// 上午和下午
|
|
8
|
+
AM_PM: {
|
|
9
|
+
zh: {
|
|
10
|
+
AM: "上午",
|
|
11
|
+
PM: "下午",
|
|
12
|
+
},
|
|
13
|
+
en: {
|
|
14
|
+
AM: "AM",
|
|
15
|
+
PM: "PM",
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
// 周
|
|
19
|
+
WEEK: {
|
|
20
|
+
zh: {
|
|
21
|
+
FULL: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"],
|
|
22
|
+
SHORT: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
|
|
23
|
+
MINI: ["日", "一", "二", "三", "四", "五", "六"],
|
|
24
|
+
},
|
|
25
|
+
en: {
|
|
26
|
+
FULL: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
|
|
27
|
+
SHORT: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
|
|
28
|
+
MINI: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
// 月
|
|
32
|
+
MONTH: {
|
|
33
|
+
zh: {
|
|
34
|
+
FULL: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
|
|
35
|
+
SHORT: ["一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二"],
|
|
36
|
+
},
|
|
37
|
+
en: {
|
|
38
|
+
FULL: [
|
|
39
|
+
"January",
|
|
40
|
+
"February",
|
|
41
|
+
"March",
|
|
42
|
+
"April",
|
|
43
|
+
"May",
|
|
44
|
+
"June",
|
|
45
|
+
"July",
|
|
46
|
+
"August",
|
|
47
|
+
"September",
|
|
48
|
+
"October",
|
|
49
|
+
"November",
|
|
50
|
+
"December",
|
|
51
|
+
],
|
|
52
|
+
SHORT: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
// 季度
|
|
56
|
+
QUARTER: {
|
|
57
|
+
zh: {
|
|
58
|
+
FULL: ["第一季度", "第二季度", "第三季度", "第四季度"],
|
|
59
|
+
SHORT: ["一季度", "二季度", "三季度", "四季度"],
|
|
60
|
+
MINI: ["一", "二", "三", "四"],
|
|
61
|
+
},
|
|
62
|
+
en: {
|
|
63
|
+
FULL: ["quarter 1st", "quarter 2nd", "quarter 3rd", "quarter 4th"],
|
|
64
|
+
SHORT: ["Q1th", "Q2nd", "Q3rd", "Q4th"],
|
|
65
|
+
MINI: ["Q1", "Q2", "Q3", "Q4"],
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
// 已过日期类型
|
|
69
|
+
OVER_TIME: {
|
|
70
|
+
zh: {
|
|
71
|
+
YEAR: "年",
|
|
72
|
+
MONTH: "月",
|
|
73
|
+
DATE: "日",
|
|
74
|
+
HOUR: "时",
|
|
75
|
+
MINUTE: "分",
|
|
76
|
+
SECOND: "秒",
|
|
77
|
+
MILLISECOND: "毫秒",
|
|
78
|
+
DAY: "天",
|
|
79
|
+
QUARTER: "季度",
|
|
80
|
+
},
|
|
81
|
+
en: {
|
|
82
|
+
YEAR: "year",
|
|
83
|
+
MONTH: "month",
|
|
84
|
+
DATE: "date",
|
|
85
|
+
HOUR: "hour",
|
|
86
|
+
MINUTE: "minute",
|
|
87
|
+
SECOND: "second",
|
|
88
|
+
MILLISECOND: "millisecond",
|
|
89
|
+
DAY: "day",
|
|
90
|
+
QUARTER: "quarter",
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
// 时间节点
|
|
94
|
+
PASS_TIME: {
|
|
95
|
+
zh: {
|
|
96
|
+
YEAR: "年前",
|
|
97
|
+
MONTH: "个月前",
|
|
98
|
+
DAY: "天前",
|
|
99
|
+
BEFORE_YESTERDAY: "前天",
|
|
100
|
+
YESTERDAY: "昨天",
|
|
101
|
+
TODAY: "今天",
|
|
102
|
+
HOUR: "小时前",
|
|
103
|
+
MINUTE: "分钟前",
|
|
104
|
+
JUST: "刚刚",
|
|
105
|
+
},
|
|
106
|
+
en: {
|
|
107
|
+
YEAR: " year ago",
|
|
108
|
+
MONTH: " month ago",
|
|
109
|
+
DAY: " day ago",
|
|
110
|
+
BEFORE_YESTERDAY: "before yesterday",
|
|
111
|
+
YESTERDAY: " yesterday",
|
|
112
|
+
TODAY: " today",
|
|
113
|
+
HOUR: " hour ago",
|
|
114
|
+
MINUTE: " minute ago",
|
|
115
|
+
JUST: " just",
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
// 节假日
|
|
119
|
+
HOLIDAY: {
|
|
120
|
+
zh: ["元旦", "春节", "清明节", "劳动节", "端午节", "中秋节", "国庆节"],
|
|
121
|
+
en: [
|
|
122
|
+
"New Year‘s Day",
|
|
123
|
+
"Spring Festival",
|
|
124
|
+
"Tomb Sweeping Day",
|
|
125
|
+
"Labor Day",
|
|
126
|
+
"Dragon Boat Festival",
|
|
127
|
+
"Mid-Autumn Day",
|
|
128
|
+
"National Day",
|
|
129
|
+
],
|
|
130
|
+
},
|
|
131
|
+
// 星座
|
|
132
|
+
ZODIAC: {
|
|
133
|
+
zh: [
|
|
134
|
+
"摩羯座",
|
|
135
|
+
"水瓶座",
|
|
136
|
+
"双鱼座",
|
|
137
|
+
"白羊座",
|
|
138
|
+
"金牛座",
|
|
139
|
+
"双子座",
|
|
140
|
+
"巨蟹座",
|
|
141
|
+
"狮子座",
|
|
142
|
+
"处女座",
|
|
143
|
+
"天秤座",
|
|
144
|
+
"天蝎座",
|
|
145
|
+
"射手座",
|
|
146
|
+
],
|
|
147
|
+
en: [
|
|
148
|
+
"Capricorn",
|
|
149
|
+
"Aquarius",
|
|
150
|
+
"Pisces",
|
|
151
|
+
"Aries",
|
|
152
|
+
"Taurus",
|
|
153
|
+
"Gemini",
|
|
154
|
+
"Cancer",
|
|
155
|
+
"Leo",
|
|
156
|
+
"Virgo",
|
|
157
|
+
"Libra",
|
|
158
|
+
"Scorpio",
|
|
159
|
+
"Sagittarius",
|
|
160
|
+
],
|
|
161
|
+
},
|
|
162
|
+
// 生肖
|
|
163
|
+
CHINESE_ZODIAC: {
|
|
164
|
+
zh: ["鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊", "猴", "鸡", "狗", "猪"],
|
|
165
|
+
en: ["Rat", "Ox", "Tiger", "Rabbit", "Dragon", "Snake", "Horse", "Goat", "Monkey", "Rooster", "Dog", "Pig"],
|
|
166
|
+
},
|
|
167
|
+
// 天干地支
|
|
168
|
+
HEAVENLY_STEMS: {
|
|
169
|
+
zh: ["甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"],
|
|
170
|
+
en: ["Jia", "Yi", "Bing", "Ding", "Wu", "Ji", "Geng", "Xin", "Ren", "Gui"],
|
|
171
|
+
},
|
|
172
|
+
EARTHLY_BRANCHES: {
|
|
173
|
+
zh: ["子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"],
|
|
174
|
+
en: ["Zi", "Chou", "Yin", "Mao", "Chen", "Si", "Wu", "Wei", "Shen", "You", "Xu", "Hai"],
|
|
175
|
+
},
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
exports.DATE = DATE;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 身份证号
|
|
5
|
+
*/
|
|
6
|
+
const ID_CARD = {
|
|
7
|
+
// 身份证号对应的省
|
|
8
|
+
PROVINCE: {
|
|
9
|
+
11: "北京",
|
|
10
|
+
12: "天津",
|
|
11
|
+
13: "河北",
|
|
12
|
+
14: "山西",
|
|
13
|
+
15: "内蒙古",
|
|
14
|
+
21: "辽宁",
|
|
15
|
+
22: "吉林",
|
|
16
|
+
23: "黑龙江",
|
|
17
|
+
31: "上海",
|
|
18
|
+
32: "江苏",
|
|
19
|
+
33: "浙江",
|
|
20
|
+
34: "安徽",
|
|
21
|
+
35: "福建",
|
|
22
|
+
36: "江西",
|
|
23
|
+
37: "山东",
|
|
24
|
+
41: "河南",
|
|
25
|
+
42: "湖北",
|
|
26
|
+
43: "湖南",
|
|
27
|
+
44: "广东",
|
|
28
|
+
45: "广西",
|
|
29
|
+
46: "海南",
|
|
30
|
+
50: "重庆",
|
|
31
|
+
51: "四川",
|
|
32
|
+
52: "贵州",
|
|
33
|
+
53: "云南",
|
|
34
|
+
54: "西藏",
|
|
35
|
+
61: "陕西",
|
|
36
|
+
62: "甘肃",
|
|
37
|
+
63: "青海",
|
|
38
|
+
64: "宁夏",
|
|
39
|
+
65: "新疆",
|
|
40
|
+
71: "台湾",
|
|
41
|
+
81: "香港",
|
|
42
|
+
82: "澳门",
|
|
43
|
+
91: "国外",
|
|
44
|
+
},
|
|
45
|
+
// 性别
|
|
46
|
+
SEX: {
|
|
47
|
+
MAN: "男",
|
|
48
|
+
WOMAN: "女",
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
exports.ID_CARD = ID_CARD;
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
* 键盘码
|
|
5
|
+
*/
|
|
6
|
+
const KEYCODE = {
|
|
7
|
+
// 字符键
|
|
8
|
+
8: "Backspace",
|
|
9
|
+
9: "Tab",
|
|
10
|
+
13: "Enter",
|
|
11
|
+
16: "Shift",
|
|
12
|
+
17: "Ctrl",
|
|
13
|
+
18: "Alt",
|
|
14
|
+
19: "Pause",
|
|
15
|
+
20: "Caps Lock",
|
|
16
|
+
27: "Escape",
|
|
17
|
+
32: "Space",
|
|
18
|
+
33: "Page Up",
|
|
19
|
+
34: "Page Down",
|
|
20
|
+
35: "End",
|
|
21
|
+
36: "Home",
|
|
22
|
+
37: "Left",
|
|
23
|
+
38: "Up",
|
|
24
|
+
39: "Right",
|
|
25
|
+
40: "Down",
|
|
26
|
+
42: "Print Screen",
|
|
27
|
+
45: "Insert",
|
|
28
|
+
46: "Delete",
|
|
29
|
+
// 数字键
|
|
30
|
+
48: "0",
|
|
31
|
+
49: "1",
|
|
32
|
+
50: "2",
|
|
33
|
+
51: "3",
|
|
34
|
+
52: "4",
|
|
35
|
+
53: "5",
|
|
36
|
+
54: "6",
|
|
37
|
+
55: "7",
|
|
38
|
+
56: "8",
|
|
39
|
+
57: "9",
|
|
40
|
+
// 字母键
|
|
41
|
+
65: "A",
|
|
42
|
+
66: "B",
|
|
43
|
+
67: "C",
|
|
44
|
+
68: "D",
|
|
45
|
+
69: "E",
|
|
46
|
+
70: "F",
|
|
47
|
+
71: "G",
|
|
48
|
+
72: "H",
|
|
49
|
+
73: "I",
|
|
50
|
+
74: "J",
|
|
51
|
+
75: "K",
|
|
52
|
+
76: "L",
|
|
53
|
+
77: "M",
|
|
54
|
+
78: "N",
|
|
55
|
+
79: "O",
|
|
56
|
+
80: "P",
|
|
57
|
+
81: "Q",
|
|
58
|
+
82: "R",
|
|
59
|
+
83: "S",
|
|
60
|
+
84: "T",
|
|
61
|
+
85: "U",
|
|
62
|
+
86: "V",
|
|
63
|
+
87: "W",
|
|
64
|
+
88: "X",
|
|
65
|
+
89: "Y",
|
|
66
|
+
90: "Z",
|
|
67
|
+
// window
|
|
68
|
+
91: "Windows",
|
|
69
|
+
93: "Right Click",
|
|
70
|
+
// Numpad
|
|
71
|
+
96: "Numpad 0",
|
|
72
|
+
97: "Numpad 1",
|
|
73
|
+
98: "Numpad 2",
|
|
74
|
+
99: "Numpad 3",
|
|
75
|
+
100: "Numpad 4",
|
|
76
|
+
101: "Numpad 5",
|
|
77
|
+
102: "Numpad 6",
|
|
78
|
+
103: "Numpad 7",
|
|
79
|
+
104: "Numpad 8",
|
|
80
|
+
105: "Numpad 9",
|
|
81
|
+
106: "Numpad *",
|
|
82
|
+
107: "Numpad +",
|
|
83
|
+
109: "Numpad -",
|
|
84
|
+
110: "Numpad .",
|
|
85
|
+
111: "Numpad /",
|
|
86
|
+
// F功能键
|
|
87
|
+
112: "F1",
|
|
88
|
+
113: "F2",
|
|
89
|
+
114: "F3",
|
|
90
|
+
115: "F4",
|
|
91
|
+
116: "F5",
|
|
92
|
+
117: "F6",
|
|
93
|
+
118: "F7",
|
|
94
|
+
119: "F8",
|
|
95
|
+
120: "F9",
|
|
96
|
+
121: "F10",
|
|
97
|
+
122: "F11",
|
|
98
|
+
123: "F12",
|
|
99
|
+
// 特殊符号
|
|
100
|
+
144: "Num Lock",
|
|
101
|
+
145: "Scroll Lock",
|
|
102
|
+
182: "My Computer",
|
|
103
|
+
183: "My Calculator",
|
|
104
|
+
186: ";",
|
|
105
|
+
187: "=",
|
|
106
|
+
188: ",",
|
|
107
|
+
189: "-",
|
|
108
|
+
190: ".",
|
|
109
|
+
191: "/",
|
|
110
|
+
192: "`",
|
|
111
|
+
219: "[",
|
|
112
|
+
220: "\\",
|
|
113
|
+
221: "]",
|
|
114
|
+
222: "'",
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
exports.KEYCODE = KEYCODE;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 正则
|
|
5
|
+
*/
|
|
6
|
+
const REGEXP = {
|
|
7
|
+
// 中文汉字
|
|
8
|
+
CH: /^[\u4E00-\u9FA5]+$/,
|
|
9
|
+
// 英文字母
|
|
10
|
+
EN: /^[a-zA-Z]$/,
|
|
11
|
+
// 小写字母
|
|
12
|
+
LOWER_CASE: /^[a-z]+$/,
|
|
13
|
+
// 大写字母
|
|
14
|
+
UPPER_CASE: /^[A-Z]+$/,
|
|
15
|
+
// 中文姓名,2-16位
|
|
16
|
+
CH_NAME: /^[\u4e00-\u9fa5·]{2,16}$/,
|
|
17
|
+
// 英文姓名,0-20位
|
|
18
|
+
EN_NAME: /(^[a-zA-Z][a-zA-Z\s]{0,20}[a-zA-Z]$)/,
|
|
19
|
+
// 数字,包含正数和负数
|
|
20
|
+
NUMBER: /^([-+])?\d+(\.\d+)?$/,
|
|
21
|
+
// 整数,包含:0,正整数和负整数
|
|
22
|
+
INTEGER: /^(0|[1-9][0-9]*|-[1-9][0-9]*)$/,
|
|
23
|
+
// 小数,包含正小数和负小数
|
|
24
|
+
DECIMAL: /^\d+\.\d+$/,
|
|
25
|
+
// 正整数或者保留两位小数
|
|
26
|
+
INT_OR_FLOAT: /(^[1-9][0-9]*$)|(^[1-9][0-9]*\.[0-9]{1,2}$)|(^0\.[0-9]{1,2}$)|(^0$)/,
|
|
27
|
+
// 手机号码,支持+86
|
|
28
|
+
MOBILE: /^(?:(?:\+|00)86)?1[1-9]\d{9}$/,
|
|
29
|
+
// 固定电话号码,比如:0755-1111111
|
|
30
|
+
PHONE: /^(?:(?:\d{3}-)?\d{8}|^(?:\d{4}-)?\d{7,8})(?:-\d+)?$/,
|
|
31
|
+
// 邮箱
|
|
32
|
+
EMAIL: /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/,
|
|
33
|
+
// 一代15位和二代18位身份证
|
|
34
|
+
ID_CARD: /(^\d{8}(0\d|10|11|12)([0-2]\d|30|31)\d{3}$)|(^\d{6}(18|19|20)\d{2}(0[1-9]|10|11|12)([0-2]\d|30|31)\d{3}(\d|X|x)$)/,
|
|
35
|
+
// 仅校验一代15位身份证
|
|
36
|
+
ID_CARD15: /(^\d{8}(0\d|10|11|12)([0-2]\d|30|31)\d{3}$)/,
|
|
37
|
+
// 仅校验二代18位身份证
|
|
38
|
+
ID_CARD18: /(^\d{6}(18|19|20)\d{2}(0[1-9]|10|11|12)([0-2]\d|30|31)\d{3}(\d|X|x)$)/,
|
|
39
|
+
// 银行卡号
|
|
40
|
+
BANK_CARD: /^[1-9]\d{9,29}$/,
|
|
41
|
+
// 邮政编码
|
|
42
|
+
POST_CODE: /^(0[1-7]|1[0-356]|2[0-7]|3[0-6]|4[0-7]|5[1-7]|6[1-7]|7[0-5]|8[013-6])\d{4}$/,
|
|
43
|
+
// url地址,可以获取到主机地址、主机名、端口号、协议、查询参数、hash等信息c
|
|
44
|
+
URL: /^(?:(ftp|https?|ftps):\/\/)?((?:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+(?:[a-zA-Z]{2,6})?)?(?::(\d+))?(?:\/([^\?#]*))?(?:\?([^#]*))?(?:#(.*))?$/,
|
|
45
|
+
// ip地址
|
|
46
|
+
IP: /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,
|
|
47
|
+
// IPv6地址
|
|
48
|
+
IP6: /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,
|
|
49
|
+
// 是外链,http,https,mail,tel电话
|
|
50
|
+
EXTERNAL: /^(http?:|https?:|mailto:|tel:)/,
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
exports.REGEXP = REGEXP;
|