@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.
Files changed (213) hide show
  1. package/dist/cjs/ID-card/index.cjs +87 -0
  2. package/dist/cjs/array/index.cjs +470 -0
  3. package/dist/cjs/clipboard/index.cjs +128 -0
  4. package/dist/cjs/color/index.cjs +193 -0
  5. package/dist/cjs/constants/date.cjs +178 -0
  6. package/dist/cjs/constants/id-card.cjs +52 -0
  7. package/dist/cjs/constants/keycode.cjs +117 -0
  8. package/dist/cjs/constants/lang.cjs +13 -0
  9. package/dist/cjs/constants/math.cjs +13 -0
  10. package/dist/cjs/constants/regexp.cjs +53 -0
  11. package/dist/cjs/constants/sort.cjs +15 -0
  12. package/dist/cjs/cookie/index.cjs +70 -0
  13. package/dist/cjs/crypto/aes/aes.cjs +480 -0
  14. package/dist/cjs/crypto/aes/index.cjs +27 -0
  15. package/dist/cjs/crypto/base32/base32.cjs +357 -0
  16. package/dist/cjs/crypto/base32/index.cjs +41 -0
  17. package/dist/cjs/crypto/base64/base64.cjs +348 -0
  18. package/dist/cjs/crypto/base64/index.cjs +59 -0
  19. package/dist/cjs/crypto/des/des.cjs +257 -0
  20. package/dist/cjs/crypto/des/index.cjs +28 -0
  21. package/dist/cjs/crypto/md5/index.cjs +24 -0
  22. package/dist/cjs/crypto/md5/md5.cjs +897 -0
  23. package/dist/cjs/crypto/sha/sha1/index.cjs +24 -0
  24. package/dist/cjs/crypto/sha/sha1/sha1.cjs +529 -0
  25. package/dist/cjs/crypto/sha/sha256/index.cjs +43 -0
  26. package/dist/cjs/crypto/sha/sha256/sha256.cjs +595 -0
  27. package/dist/cjs/crypto/sha/sha3/index.cjs +41 -0
  28. package/dist/cjs/crypto/sha/sha3/sha3.cjs +624 -0
  29. package/dist/cjs/crypto/sha/sha512/index.cjs +81 -0
  30. package/dist/cjs/crypto/sha/sha512/sha512.cjs +950 -0
  31. package/dist/cjs/crypto/sm/lib/asn1.cjs +149 -0
  32. package/dist/cjs/crypto/sm/lib/ec.cjs +315 -0
  33. package/dist/cjs/crypto/sm/lib/jsbn.cjs +1608 -0
  34. package/dist/cjs/crypto/sm/lib/sm3.cjs +158 -0
  35. package/dist/cjs/crypto/sm/lib/utils.cjs +170 -0
  36. package/dist/cjs/crypto/sm/sm2/index.cjs +112 -0
  37. package/dist/cjs/crypto/sm/sm2/sm2.cjs +231 -0
  38. package/dist/cjs/crypto/sm/sm3/index.cjs +15 -0
  39. package/dist/cjs/crypto/sm/sm3/sm3.cjs +93 -0
  40. package/dist/cjs/crypto/sm/sm4/index.cjs +27 -0
  41. package/dist/cjs/crypto/sm/sm4/sm4.cjs +327 -0
  42. package/dist/cjs/crypto/tea/index.cjs +25 -0
  43. package/dist/cjs/crypto/tea/tea.cjs +187 -0
  44. package/dist/cjs/date/index.cjs +1266 -0
  45. package/dist/cjs/desensitized/index.cjs +75 -0
  46. package/dist/cjs/device/index.cjs +151 -0
  47. package/dist/cjs/dom/index.cjs +129 -0
  48. package/dist/cjs/file/index.cjs +333 -0
  49. package/dist/cjs/function/index.cjs +69 -0
  50. package/dist/cjs/id/index.cjs +1 -1
  51. package/dist/cjs/index.cjs +398 -47
  52. package/dist/cjs/keycode/index.cjs +33 -0
  53. package/dist/cjs/math/index.cjs +278 -0
  54. package/dist/cjs/number/index.cjs +31 -0
  55. package/dist/cjs/object/index.cjs +272 -0
  56. package/dist/cjs/pagination/index.cjs +131 -0
  57. package/dist/cjs/random/index.cjs +24 -0
  58. package/dist/cjs/regexp/index.cjs +100 -0
  59. package/dist/cjs/storage/index.cjs +11 -0
  60. package/dist/cjs/storage/localStorage.cjs +37 -0
  61. package/dist/cjs/storage/sessionStorage.cjs +37 -0
  62. package/dist/cjs/string/index.cjs +358 -0
  63. package/dist/cjs/url/index.cjs +258 -0
  64. package/dist/cjs/validate/index.cjs +468 -0
  65. package/dist/cjs/weapp/index.cjs +142 -0
  66. package/dist/es/ID-card/index.d.ts +31 -0
  67. package/dist/es/ID-card/index.mjs +81 -0
  68. package/dist/es/array/index.d.ts +203 -0
  69. package/dist/es/array/index.mjs +441 -0
  70. package/dist/es/clipboard/index.d.ts +29 -0
  71. package/dist/es/clipboard/index.mjs +122 -0
  72. package/dist/es/color/index.d.ts +52 -0
  73. package/dist/es/color/index.mjs +183 -0
  74. package/dist/es/constants/date.d.ts +174 -0
  75. package/dist/es/constants/date.mjs +176 -0
  76. package/dist/es/constants/id-card.d.ts +43 -0
  77. package/dist/es/constants/id-card.mjs +50 -0
  78. package/dist/es/constants/index.d.ts +7 -0
  79. package/dist/es/constants/keycode.d.ts +103 -0
  80. package/dist/es/constants/keycode.mjs +115 -0
  81. package/dist/es/constants/lang.d.ts +4 -0
  82. package/dist/es/constants/lang.mjs +11 -0
  83. package/dist/es/constants/math.d.ts +4 -0
  84. package/dist/es/constants/math.mjs +11 -0
  85. package/dist/es/constants/regexp.d.ts +24 -0
  86. package/dist/es/constants/regexp.mjs +51 -0
  87. package/dist/es/constants/sort.d.ts +5 -0
  88. package/dist/es/constants/sort.mjs +13 -0
  89. package/dist/es/cookie/index.d.ts +29 -0
  90. package/dist/es/cookie/index.mjs +64 -0
  91. package/dist/es/crypto/aes/aes.d.ts +156 -0
  92. package/dist/es/crypto/aes/aes.mjs +478 -0
  93. package/dist/es/crypto/aes/index.d.ts +16 -0
  94. package/dist/es/crypto/aes/index.mjs +24 -0
  95. package/dist/es/crypto/base32/base32.d.ts +3 -0
  96. package/dist/es/crypto/base32/base32.mjs +353 -0
  97. package/dist/es/crypto/base32/index.d.ts +24 -0
  98. package/dist/es/crypto/base32/index.mjs +36 -0
  99. package/dist/es/crypto/base64/base64.d.ts +5 -0
  100. package/dist/es/crypto/base64/base64.mjs +342 -0
  101. package/dist/es/crypto/base64/index.d.ts +36 -0
  102. package/dist/es/crypto/base64/index.mjs +52 -0
  103. package/dist/es/crypto/des/des.d.ts +52 -0
  104. package/dist/es/crypto/des/des.mjs +255 -0
  105. package/dist/es/crypto/des/index.d.ts +14 -0
  106. package/dist/es/crypto/des/index.mjs +25 -0
  107. package/dist/es/crypto/index.d.ts +8 -0
  108. package/dist/es/crypto/md5/index.d.ts +13 -0
  109. package/dist/es/crypto/md5/index.mjs +21 -0
  110. package/dist/es/crypto/md5/md5.d.ts +144 -0
  111. package/dist/es/crypto/md5/md5.mjs +894 -0
  112. package/dist/es/crypto/sha/index.d.ts +4 -0
  113. package/dist/es/crypto/sha/sha1/index.d.ts +13 -0
  114. package/dist/es/crypto/sha/sha1/index.mjs +21 -0
  115. package/dist/es/crypto/sha/sha1/sha1.d.ts +2 -0
  116. package/dist/es/crypto/sha/sha1/sha1.mjs +526 -0
  117. package/dist/es/crypto/sha/sha256/index.d.ts +26 -0
  118. package/dist/es/crypto/sha/sha256/index.mjs +38 -0
  119. package/dist/es/crypto/sha/sha256/sha256.d.ts +4 -0
  120. package/dist/es/crypto/sha/sha256/sha256.mjs +590 -0
  121. package/dist/es/crypto/sha/sha3/index.d.ts +24 -0
  122. package/dist/es/crypto/sha/sha3/index.mjs +36 -0
  123. package/dist/es/crypto/sha/sha3/sha3.d.ts +4 -0
  124. package/dist/es/crypto/sha/sha3/sha3.mjs +619 -0
  125. package/dist/es/crypto/sha/sha512/index.d.ts +52 -0
  126. package/dist/es/crypto/sha/sha512/index.mjs +72 -0
  127. package/dist/es/crypto/sha/sha512/sha512.d.ts +8 -0
  128. package/dist/es/crypto/sha/sha512/sha512.mjs +941 -0
  129. package/dist/es/crypto/sm/index.d.ts +3 -0
  130. package/dist/es/crypto/sm/lib/asn1.d.ts +12 -0
  131. package/dist/es/crypto/sm/lib/asn1.mjs +146 -0
  132. package/dist/es/crypto/sm/lib/ec.d.ts +126 -0
  133. package/dist/es/crypto/sm/lib/ec.mjs +312 -0
  134. package/dist/es/crypto/sm/lib/jsbn.d.ts +198 -0
  135. package/dist/es/crypto/sm/lib/jsbn.mjs +1605 -0
  136. package/dist/es/crypto/sm/lib/sm3.d.ts +5 -0
  137. package/dist/es/crypto/sm/lib/sm3.mjs +155 -0
  138. package/dist/es/crypto/sm/lib/utils.d.ts +53 -0
  139. package/dist/es/crypto/sm/lib/utils.mjs +158 -0
  140. package/dist/es/crypto/sm/sm2/index.d.ts +71 -0
  141. package/dist/es/crypto/sm/sm2/index.mjs +101 -0
  142. package/dist/es/crypto/sm/sm2/sm2.d.ts +34 -0
  143. package/dist/es/crypto/sm/sm2/sm2.mjs +220 -0
  144. package/dist/es/crypto/sm/sm3/index.d.ts +7 -0
  145. package/dist/es/crypto/sm/sm3/index.mjs +13 -0
  146. package/dist/es/crypto/sm/sm3/sm3.d.ts +1 -0
  147. package/dist/es/crypto/sm/sm3/sm3.mjs +91 -0
  148. package/dist/es/crypto/sm/sm4/index.d.ts +16 -0
  149. package/dist/es/crypto/sm/sm4/index.mjs +24 -0
  150. package/dist/es/crypto/sm/sm4/sm4.d.ts +2 -0
  151. package/dist/es/crypto/sm/sm4/sm4.mjs +324 -0
  152. package/dist/es/crypto/tea/index.d.ts +14 -0
  153. package/dist/es/crypto/tea/index.mjs +22 -0
  154. package/dist/es/crypto/tea/tea.d.ts +69 -0
  155. package/dist/es/crypto/tea/tea.mjs +185 -0
  156. package/dist/es/date/index.d.ts +547 -0
  157. package/dist/es/date/index.mjs +1179 -0
  158. package/dist/es/desensitized/index.d.ts +38 -0
  159. package/dist/es/desensitized/index.mjs +69 -0
  160. package/dist/es/device/index.d.ts +67 -0
  161. package/dist/es/device/index.mjs +137 -0
  162. package/dist/es/dom/index.d.ts +57 -0
  163. package/dist/es/dom/index.mjs +119 -0
  164. package/dist/es/file/index.d.ts +93 -0
  165. package/dist/es/file/index.mjs +317 -0
  166. package/dist/es/function/index.d.ts +23 -0
  167. package/dist/es/function/index.mjs +65 -0
  168. package/dist/es/id/index.mjs +1 -1
  169. package/dist/es/index.d.ts +25 -42
  170. package/dist/es/index.mjs +54 -40
  171. package/dist/es/keycode/index.d.ts +12 -0
  172. package/dist/es/keycode/index.mjs +30 -0
  173. package/dist/es/math/index.d.ts +66 -0
  174. package/dist/es/math/index.mjs +268 -0
  175. package/dist/es/number/index.d.ts +14 -0
  176. package/dist/es/number/index.mjs +28 -0
  177. package/dist/es/object/index.d.ts +83 -0
  178. package/dist/es/object/index.mjs +259 -0
  179. package/dist/es/pagination/index.d.ts +34 -0
  180. package/dist/es/pagination/index.mjs +125 -0
  181. package/dist/es/random/index.d.ts +15 -0
  182. package/dist/es/random/index.mjs +21 -0
  183. package/dist/es/regexp/index.d.ts +63 -0
  184. package/dist/es/regexp/index.mjs +89 -0
  185. package/dist/es/storage/index.d.ts +7 -0
  186. package/dist/es/storage/index.mjs +9 -0
  187. package/dist/es/storage/localStorage.d.ts +21 -0
  188. package/dist/es/storage/localStorage.mjs +32 -0
  189. package/dist/es/storage/sessionStorage.d.ts +21 -0
  190. package/dist/es/storage/sessionStorage.mjs +32 -0
  191. package/dist/es/string/index.d.ts +121 -0
  192. package/dist/es/string/index.mjs +339 -0
  193. package/dist/es/url/index.d.ts +118 -0
  194. package/dist/es/url/index.mjs +240 -0
  195. package/dist/es/validate/index.d.ts +228 -0
  196. package/dist/es/validate/index.mjs +431 -0
  197. package/dist/es/weapp/index.d.ts +57 -0
  198. package/dist/es/weapp/index.mjs +131 -0
  199. package/dist/index.d.ts +2850 -53
  200. package/dist/lib/index.full.cjs.js +14230 -67
  201. package/dist/lib/index.full.cjs.min.js +64 -2
  202. package/dist/lib/index.full.cjs.min.js.map +1 -1
  203. package/dist/lib/index.full.esm.js +13881 -63
  204. package/dist/lib/index.full.esm.min.js +59 -2
  205. package/dist/lib/index.full.esm.min.js.map +1 -1
  206. package/dist/lib/index.full.umd.js +14230 -67
  207. package/dist/lib/index.full.umd.min.js +64 -2
  208. package/dist/lib/index.full.umd.min.js.map +1 -1
  209. package/dist/resolver/auto-imports.cjs +337 -11
  210. package/dist/resolver/auto-imports.mjs +337 -11
  211. package/dist/resolver/index.cjs +1 -1
  212. package/dist/resolver/index.mjs +1 -1
  213. 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,13 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * 语言
5
+ */
6
+ const LANG = {
7
+ // 中文
8
+ ZH: "zh",
9
+ // 英文
10
+ EN: "en",
11
+ };
12
+
13
+ exports.LANG = LANG;
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * 数学
5
+ */
6
+ const MATH = {
7
+ // 正常四舍五入,如:1.354保留两位是1.35;1.355保留两位是1.36;
8
+ ROUND: 0,
9
+ // 向下舍出,如:1.354保留两位是1.35;1.355保留两位是1.35;
10
+ ROUND_FLOOR: 1,
11
+ };
12
+
13
+ exports.MATH = MATH;
@@ -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;
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * 排序
5
+ */
6
+ const SORT = {
7
+ // 降序
8
+ DESC: 0,
9
+ // 升序
10
+ ASC: 1,
11
+ // 随机排序
12
+ RANDOM: 2,
13
+ };
14
+
15
+ exports.SORT = SORT;