@ivujs/i-utils 1.1.1 → 1.1.2
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 +17 -19
- package/dist/cjs/id/index.cjs +26 -43
- package/dist/cjs/index.cjs +8 -398
- package/dist/es/id/index.d.ts +16 -0
- package/dist/es/id/index.mjs +28 -42
- package/dist/es/index.d.ts +2 -0
- package/dist/es/index.mjs +8 -58
- package/dist/index.d.ts +21 -0
- package/dist/lib/index.full.cjs.js +38 -0
- package/dist/lib/index.full.cjs.min.js +2 -0
- package/dist/lib/index.full.cjs.min.js.map +1 -0
- package/dist/lib/index.full.esm.js +35 -15822
- package/dist/lib/index.full.esm.min.js +2 -58
- package/dist/lib/index.full.esm.min.js.map +1 -0
- package/dist/lib/index.full.umd.js +39 -16176
- package/dist/lib/index.full.umd.min.js +2 -0
- package/dist/lib/index.full.umd.min.js.map +1 -0
- package/package.json +77 -54
- package/dist/cjs/ID-card/index.cjs +0 -122
- package/dist/cjs/array/index.cjs +0 -465
- package/dist/cjs/clipboard/index.cjs +0 -135
- package/dist/cjs/color/index.cjs +0 -210
- package/dist/cjs/constants/date.cjs +0 -186
- package/dist/cjs/constants/lang.cjs +0 -13
- package/dist/cjs/constants/math.cjs +0 -13
- package/dist/cjs/constants/regexp.cjs +0 -57
- package/dist/cjs/constants/sort.cjs +0 -15
- package/dist/cjs/cookie/index.cjs +0 -71
- package/dist/cjs/crypto/aes/aes.cjs +0 -533
- package/dist/cjs/crypto/aes/index.cjs +0 -28
- package/dist/cjs/crypto/base32/base32.cjs +0 -385
- package/dist/cjs/crypto/base32/index.cjs +0 -44
- package/dist/cjs/crypto/base64/base64.cjs +0 -433
- package/dist/cjs/crypto/base64/index.cjs +0 -64
- package/dist/cjs/crypto/des/des.cjs +0 -1054
- package/dist/cjs/crypto/des/index.cjs +0 -30
- package/dist/cjs/crypto/md5/index.cjs +0 -25
- package/dist/cjs/crypto/md5/md5.cjs +0 -944
- package/dist/cjs/crypto/sha/sha1/index.cjs +0 -25
- package/dist/cjs/crypto/sha/sha1/sha1.cjs +0 -602
- package/dist/cjs/crypto/sha/sha256/index.cjs +0 -46
- package/dist/cjs/crypto/sha/sha256/sha256.cjs +0 -654
- package/dist/cjs/crypto/sha/sha3/index.cjs +0 -44
- package/dist/cjs/crypto/sha/sha3/sha3.cjs +0 -747
- package/dist/cjs/crypto/sha/sha512/index.cjs +0 -88
- package/dist/cjs/crypto/sha/sha512/sha512.cjs +0 -1186
- package/dist/cjs/crypto/sm/lib/asn1.cjs +0 -167
- package/dist/cjs/crypto/sm/lib/ec.cjs +0 -352
- package/dist/cjs/crypto/sm/lib/jsbn.cjs +0 -1633
- package/dist/cjs/crypto/sm/lib/sm3.cjs +0 -173
- package/dist/cjs/crypto/sm/lib/utils.cjs +0 -198
- package/dist/cjs/crypto/sm/sm2/index.cjs +0 -122
- package/dist/cjs/crypto/sm/sm2/sm2.cjs +0 -269
- package/dist/cjs/crypto/sm/sm3/index.cjs +0 -15
- package/dist/cjs/crypto/sm/sm3/sm3.cjs +0 -103
- package/dist/cjs/crypto/sm/sm4/index.cjs +0 -28
- package/dist/cjs/crypto/sm/sm4/sm4.cjs +0 -362
- package/dist/cjs/crypto/tea/index.cjs +0 -26
- package/dist/cjs/crypto/tea/tea.cjs +0 -215
- package/dist/cjs/date/index.cjs +0 -1349
- package/dist/cjs/desensitized/index.cjs +0 -74
- package/dist/cjs/device/index.cjs +0 -159
- package/dist/cjs/dom/index.cjs +0 -176
- package/dist/cjs/file/index.cjs +0 -339
- package/dist/cjs/function/index.cjs +0 -67
- package/dist/cjs/keycode/index.cjs +0 -142
- package/dist/cjs/math/index.cjs +0 -284
- package/dist/cjs/number/index.cjs +0 -14
- package/dist/cjs/object/index.cjs +0 -216
- package/dist/cjs/pagination/index.cjs +0 -140
- package/dist/cjs/random/index.cjs +0 -25
- package/dist/cjs/regexp/index.cjs +0 -109
- package/dist/cjs/storage/index.cjs +0 -11
- package/dist/cjs/storage/localStorage.cjs +0 -40
- package/dist/cjs/storage/sessionStorage.cjs +0 -40
- package/dist/cjs/string/index.cjs +0 -338
- package/dist/cjs/url/index.cjs +0 -279
- package/dist/cjs/validate/index.cjs +0 -487
- package/dist/cjs/weapp/index.cjs +0 -151
- package/dist/es/ID-card/index.mjs +0 -116
- package/dist/es/array/index.mjs +0 -437
- package/dist/es/clipboard/index.mjs +0 -129
- package/dist/es/color/index.mjs +0 -200
- package/dist/es/constants/date.mjs +0 -184
- package/dist/es/constants/lang.mjs +0 -11
- package/dist/es/constants/math.mjs +0 -11
- package/dist/es/constants/regexp.mjs +0 -55
- package/dist/es/constants/sort.mjs +0 -13
- package/dist/es/cookie/index.mjs +0 -65
- package/dist/es/crypto/aes/aes.mjs +0 -529
- package/dist/es/crypto/aes/index.mjs +0 -25
- package/dist/es/crypto/base32/base32.mjs +0 -381
- package/dist/es/crypto/base32/index.mjs +0 -39
- package/dist/es/crypto/base64/base64.mjs +0 -427
- package/dist/es/crypto/base64/index.mjs +0 -57
- package/dist/es/crypto/des/des.mjs +0 -1050
- package/dist/es/crypto/des/index.mjs +0 -27
- package/dist/es/crypto/md5/index.mjs +0 -22
- package/dist/es/crypto/md5/md5.mjs +0 -941
- package/dist/es/crypto/sha/sha1/index.mjs +0 -22
- package/dist/es/crypto/sha/sha1/sha1.mjs +0 -599
- package/dist/es/crypto/sha/sha256/index.mjs +0 -41
- package/dist/es/crypto/sha/sha256/sha256.mjs +0 -649
- package/dist/es/crypto/sha/sha3/index.mjs +0 -39
- package/dist/es/crypto/sha/sha3/sha3.mjs +0 -742
- package/dist/es/crypto/sha/sha512/index.mjs +0 -79
- package/dist/es/crypto/sha/sha512/sha512.mjs +0 -1177
- package/dist/es/crypto/sm/lib/asn1.mjs +0 -164
- package/dist/es/crypto/sm/lib/ec.mjs +0 -349
- package/dist/es/crypto/sm/lib/jsbn.mjs +0 -1630
- package/dist/es/crypto/sm/lib/sm3.mjs +0 -170
- package/dist/es/crypto/sm/lib/utils.mjs +0 -186
- package/dist/es/crypto/sm/sm2/index.mjs +0 -111
- package/dist/es/crypto/sm/sm2/sm2.mjs +0 -258
- package/dist/es/crypto/sm/sm3/index.mjs +0 -13
- package/dist/es/crypto/sm/sm3/sm3.mjs +0 -99
- package/dist/es/crypto/sm/sm4/index.mjs +0 -25
- package/dist/es/crypto/sm/sm4/sm4.mjs +0 -359
- package/dist/es/crypto/tea/index.mjs +0 -23
- package/dist/es/crypto/tea/tea.mjs +0 -211
- package/dist/es/date/index.mjs +0 -1262
- package/dist/es/desensitized/index.mjs +0 -69
- package/dist/es/device/index.mjs +0 -145
- package/dist/es/dom/index.mjs +0 -164
- package/dist/es/file/index.mjs +0 -323
- package/dist/es/function/index.mjs +0 -63
- package/dist/es/keycode/index.mjs +0 -139
- package/dist/es/math/index.mjs +0 -274
- package/dist/es/number/index.mjs +0 -12
- package/dist/es/object/index.mjs +0 -203
- package/dist/es/pagination/index.mjs +0 -134
- package/dist/es/random/index.mjs +0 -22
- package/dist/es/regexp/index.mjs +0 -98
- package/dist/es/storage/index.mjs +0 -9
- package/dist/es/storage/localStorage.mjs +0 -35
- package/dist/es/storage/sessionStorage.mjs +0 -35
- package/dist/es/string/index.mjs +0 -321
- package/dist/es/url/index.mjs +0 -261
- package/dist/es/validate/index.mjs +0 -451
- package/dist/es/weapp/index.mjs +0 -140
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 获得分页起始数
|
|
3
|
-
* @param {Object} pagination 分页参数
|
|
4
|
-
* @returns {Array} 返回起始数
|
|
5
|
-
*/
|
|
6
|
-
function getLimit(pagination = { page: 1, pageSize: 10, total: 0, totalPage: 0, pagerCount: 7 }) {
|
|
7
|
-
return [pagination.pageSize * (pagination.page - 1), pagination.pageSize * pagination.page];
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* 获得总条数
|
|
12
|
-
* @param {Object} pagination 分页参数
|
|
13
|
-
* @returns {Number} 返回总条数
|
|
14
|
-
*/
|
|
15
|
-
function getTotalPage(pagination = { page: 1, pageSize: 10, total: 0, totalPage: 0, pagerCount: 7 }) {
|
|
16
|
-
return Math.ceil((pagination.total || 0) / (pagination.pageSize || 0));
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* 获得彩虹分页器
|
|
21
|
-
* @param {Object} pagination 分页参数
|
|
22
|
-
* @param {Function} callback 回调函数
|
|
23
|
-
* @returns {Promise} 返回彩虹分页器数据
|
|
24
|
-
*/
|
|
25
|
-
function getRainbowPager(
|
|
26
|
-
pagination = {
|
|
27
|
-
page: 1,
|
|
28
|
-
pageSize: 10,
|
|
29
|
-
total: 0,
|
|
30
|
-
totalPage: 0,
|
|
31
|
-
pagerCount: 7,
|
|
32
|
-
},
|
|
33
|
-
callback,
|
|
34
|
-
) {
|
|
35
|
-
return new Promise((resolve) => {
|
|
36
|
-
// 分页参数
|
|
37
|
-
let page = pagination.page || 1;
|
|
38
|
-
let totalPage = pagination.totalPage > 0 ? pagination.totalPage : getTotalPage(pagination);
|
|
39
|
-
let pagerCount = pagination.pagerCount || 7;
|
|
40
|
-
|
|
41
|
-
// 计算参数
|
|
42
|
-
let isEven = (pagerCount & 1) === 0;
|
|
43
|
-
let left = pagerCount >> 1;
|
|
44
|
-
let right = pagerCount >> 1;
|
|
45
|
-
let pagerLength = pagerCount;
|
|
46
|
-
|
|
47
|
-
// 计算生成的分页器数量
|
|
48
|
-
if (isEven) {
|
|
49
|
-
right++;
|
|
50
|
-
}
|
|
51
|
-
if (totalPage < pagerCount) {
|
|
52
|
-
pagerLength = totalPage;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
// 分页器数组
|
|
56
|
-
let pager = new Array(pagerLength);
|
|
57
|
-
|
|
58
|
-
// 生成分页器
|
|
59
|
-
if (totalPage >= pagerCount) {
|
|
60
|
-
if (page <= left) {
|
|
61
|
-
for (let i = 0; i < pager.length; i++) {
|
|
62
|
-
pager[i] = i + 1;
|
|
63
|
-
}
|
|
64
|
-
} else if (page > totalPage - right) {
|
|
65
|
-
for (let i = 0; i < pager.length; i++) {
|
|
66
|
-
pager[i] = i + totalPage - pagerCount + 1;
|
|
67
|
-
}
|
|
68
|
-
} else {
|
|
69
|
-
for (let i = 0; i < pager.length; i++) {
|
|
70
|
-
pager[i] = i + page - left + (isEven ? 1 : 0);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
} else {
|
|
74
|
-
for (let i = 0; i < pager.length; i++) {
|
|
75
|
-
pager[i] = i + 1;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
// 支持回调函数和Promise
|
|
80
|
-
callback && callback(pager);
|
|
81
|
-
resolve(pager);
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* 获得上一页
|
|
87
|
-
* @param {Object} pagination 分页参数
|
|
88
|
-
* @param {Function} callback 回调函数
|
|
89
|
-
* @returns {Promise} 返回上一页
|
|
90
|
-
*/
|
|
91
|
-
function getPrevPage(pagination = { page: 1, pageSize: 10, total: 0, totalPage: 0, pagerCount: 7 }, callback) {
|
|
92
|
-
return new Promise((resolve) => {
|
|
93
|
-
if (pagination.page > 1) {
|
|
94
|
-
pagination.page--;
|
|
95
|
-
} else {
|
|
96
|
-
pagination.page = 1;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
// 支持回调函数和Promise
|
|
100
|
-
callback && callback(pagination.page);
|
|
101
|
-
resolve(pagination.page);
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* 获得下一页
|
|
107
|
-
* @description 最后一页会根据totalPage参数判断,如果不传此参数,则会根据参数中pageSize和total重新计算总页数
|
|
108
|
-
* @param {Object} pagination 分页参数
|
|
109
|
-
* @param {Function} callback 回调函数
|
|
110
|
-
* @returns {Promise} 返回下一页
|
|
111
|
-
*/
|
|
112
|
-
function getNextPage(pagination = { page: 1, pageSize: 10, total: 0, totalPage: 0, pagerCount: 7 }, callback) {
|
|
113
|
-
return new Promise((resolve) => {
|
|
114
|
-
// 获得总页数,如果没有传totalPage,则需要根据传的pageSize和total计算
|
|
115
|
-
let totalPage = pagination.totalPage > 0 ? pagination.totalPage : getTotalPage(pagination);
|
|
116
|
-
|
|
117
|
-
// 计算当前页大于0和小与0的情况
|
|
118
|
-
if (pagination.page > 0) {
|
|
119
|
-
if (pagination.page < totalPage) {
|
|
120
|
-
pagination.page++;
|
|
121
|
-
} else {
|
|
122
|
-
pagination.page = totalPage;
|
|
123
|
-
}
|
|
124
|
-
} else {
|
|
125
|
-
pagination.page = 1;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
// 支持回调函数和Promise
|
|
129
|
-
callback && callback(pagination.page);
|
|
130
|
-
resolve(pagination.page);
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
export { getLimit, getNextPage, getPrevPage, getRainbowPager, getTotalPage };
|
package/dist/es/random/index.mjs
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 生成指定大小的随机整数
|
|
3
|
-
* @description n和m参数表示最小和最大范围值,默认0-9之间范围
|
|
4
|
-
* @param {Number} min 随机数的最小值,默认 0
|
|
5
|
-
* @param {Number} max 随机数的最大值,默认 9
|
|
6
|
-
* @returns {Number} 返回指定大小的随机整数
|
|
7
|
-
*/
|
|
8
|
-
function getRandom(min = 0, max = 9) {
|
|
9
|
-
return Math.floor(Math.random() * (max - min + 1) + min);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* 生成固定位数的随机整数
|
|
14
|
-
* @description 默认是1,代表生成0-9之间一位,如果是2,则生成10-99之间两位,以此类推
|
|
15
|
-
* @param {Number} len 固定的位数
|
|
16
|
-
* @returns {Number} 返回固定位数的随机数
|
|
17
|
-
*/
|
|
18
|
-
function getRandomDigit(len = 1) {
|
|
19
|
-
return Math.floor((Math.random() + Math.floor(Math.random() * 9 + 1)) * Math.pow(10, len - 1));
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export { getRandom, getRandomDigit };
|
package/dist/es/regexp/index.mjs
DELETED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { REGEXP } from '../constants/regexp.mjs';
|
|
2
|
-
|
|
3
|
-
/* 正则校验方法 */
|
|
4
|
-
/**
|
|
5
|
-
* 正则校验的方法
|
|
6
|
-
* @description 类型为REGEXP对应的正则
|
|
7
|
-
* @param {String|Number} value 校验的参数
|
|
8
|
-
* @param {RegExp} regex 使用的REGEXP中的正则
|
|
9
|
-
* @returns {Boolean} 返回校验的结果
|
|
10
|
-
*/
|
|
11
|
-
function regexpTest(value, regex) {
|
|
12
|
-
return new RegExp(regex).test(value);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
/* 常用校验 */
|
|
16
|
-
/**
|
|
17
|
-
* 是中文
|
|
18
|
-
* @param {String} value 校验的参数
|
|
19
|
-
* @returns {Boolean} 返回校验的结果
|
|
20
|
-
*/
|
|
21
|
-
function isChinese(value) {
|
|
22
|
-
return regexpTest(value, REGEXP.CH);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* 是英文
|
|
27
|
-
* @param {String} value 校验的参数
|
|
28
|
-
* @returns {Boolean} 返回校验的结果
|
|
29
|
-
*/
|
|
30
|
-
function isEnglish(value) {
|
|
31
|
-
return regexpTest(value, REGEXP.EN);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* 是外链
|
|
36
|
-
* @description 支持http,https,mail,tel电话
|
|
37
|
-
* @param {String} value 校验的参数
|
|
38
|
-
* @returns {Boolean} 返回校验的结果
|
|
39
|
-
*/
|
|
40
|
-
function isExternal(value) {
|
|
41
|
-
return regexpTest(value, REGEXP.EXTERNAL);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* 是小写字母
|
|
46
|
-
* @param {String} value 校验的参数
|
|
47
|
-
* @returns {Boolean} 返回校验的结果
|
|
48
|
-
*/
|
|
49
|
-
function isLowerCase(value) {
|
|
50
|
-
return regexpTest(value, REGEXP.LOWER_CASE);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* 是大写字母
|
|
55
|
-
* @param {String} value 校验的参数
|
|
56
|
-
* @returns {Boolean} 返回校验的结果
|
|
57
|
-
*/
|
|
58
|
-
function isUpperCase(value) {
|
|
59
|
-
return regexpTest(value, REGEXP.UPPER_CASE);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* 是11位手机号码
|
|
64
|
-
* @param {String} value 校验的参数
|
|
65
|
-
* @returns {Boolean} 返回校验的结果
|
|
66
|
-
*/
|
|
67
|
-
function isMobile(value) {
|
|
68
|
-
return regexpTest(value, REGEXP.MOBILE);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* 是邮箱
|
|
73
|
-
* @param {String} value 校验的参数
|
|
74
|
-
* @returns {Boolean} 返回校验的结果
|
|
75
|
-
*/
|
|
76
|
-
function isEmail(value) {
|
|
77
|
-
return regexpTest(value, REGEXP.EMAIL);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* 是身份证号码(15-18位)
|
|
82
|
-
* @param {String} value 校验的参数
|
|
83
|
-
* @returns {Boolean} 返回校验的结果
|
|
84
|
-
*/
|
|
85
|
-
function isIdCard(value) {
|
|
86
|
-
return regexpTest(value, REGEXP.ID_CARD);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* 是url链接
|
|
91
|
-
* @param {String} value 校验的参数
|
|
92
|
-
* @returns {Boolean} 返回校验的结果
|
|
93
|
-
*/
|
|
94
|
-
function isUrl(value) {
|
|
95
|
-
return regexpTest(value, REGEXP.URL);
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
export { isChinese, isEmail, isEnglish, isExternal, isIdCard, isLowerCase, isMobile, isUpperCase, isUrl, regexpTest };
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/* localStorage存储 */
|
|
2
|
-
/**
|
|
3
|
-
* 通过key从localStorage缓存中获取数据
|
|
4
|
-
* @param {String} key key值
|
|
5
|
-
* @returns {String} 返回数据
|
|
6
|
-
*/
|
|
7
|
-
function getLocalStorage(key) {
|
|
8
|
-
return window.localStorage.getItem(key) || undefined;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* 设置localStorage缓存数据
|
|
13
|
-
* @param {String} key key值
|
|
14
|
-
* @param {String} value value值
|
|
15
|
-
*/
|
|
16
|
-
function setLocalStorage(key, value) {
|
|
17
|
-
window.localStorage.setItem(key, value);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* 通过key从localStorage缓存中删除数据
|
|
22
|
-
* @param {String} key key值
|
|
23
|
-
*/
|
|
24
|
-
function removeLocalStorage(key) {
|
|
25
|
-
window.localStorage.removeItem(key);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* 清空localStorage缓存中所有数据
|
|
30
|
-
*/
|
|
31
|
-
function clearLocalStorage() {
|
|
32
|
-
window.localStorage.clear();
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export { clearLocalStorage, getLocalStorage, removeLocalStorage, setLocalStorage };
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/* sessionStorage存储 */
|
|
2
|
-
/**
|
|
3
|
-
* 通过key从sessionStorage缓存中获取数据
|
|
4
|
-
* @param {String} key key值
|
|
5
|
-
* @returns {String} 返回数据
|
|
6
|
-
*/
|
|
7
|
-
function getSessionStorage(key) {
|
|
8
|
-
return window.sessionStorage.getItem(key) || "";
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* 设置sessionStorage缓存数据
|
|
13
|
-
* @param {String} key key值
|
|
14
|
-
* @param {String} value value值
|
|
15
|
-
*/
|
|
16
|
-
function setSessionStorage(key, value) {
|
|
17
|
-
window.sessionStorage.setItem(key, value);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* 通过key从sessionStorage缓存中删除数据
|
|
22
|
-
* @param {String} key key值
|
|
23
|
-
*/
|
|
24
|
-
function removeSessionStorage(key) {
|
|
25
|
-
window.sessionStorage.removeItem(key);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* 清空sessionStorage缓存中所有数据
|
|
30
|
-
*/
|
|
31
|
-
function clearSessionStorage() {
|
|
32
|
-
window.sessionStorage.clear();
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export { clearSessionStorage, getSessionStorage, removeSessionStorage, setSessionStorage };
|
package/dist/es/string/index.mjs
DELETED
|
@@ -1,321 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 去除字符串前后位置空格
|
|
3
|
-
* @param {String} value 参数
|
|
4
|
-
* @returns {String} 返回处理后的字符串
|
|
5
|
-
*/
|
|
6
|
-
function trim(value) {
|
|
7
|
-
return value.replace(/(^\s*)|(\s*$)/g, "");
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* 去除字符串开始位置的空格
|
|
12
|
-
* @param {String} value 参数
|
|
13
|
-
* @returns {String} 返回处理后的字符串
|
|
14
|
-
*/
|
|
15
|
-
function trimStart(value) {
|
|
16
|
-
return value.replace(/(^\s*)/g, "");
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* 去除字符串结束位置的空格
|
|
21
|
-
* @param {String} value 参数
|
|
22
|
-
* @returns {String} 返回处理后的字符串
|
|
23
|
-
*/
|
|
24
|
-
function trimEnd(value) {
|
|
25
|
-
return value.replace(/(\s*$)/g, "");
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* 去除字符串中全部的空格
|
|
30
|
-
* @param {String} value 参数
|
|
31
|
-
* @returns {String} 返回处理后的字符串
|
|
32
|
-
*/
|
|
33
|
-
function trimAll(value) {
|
|
34
|
-
return value.replace(/\s+/g, "");
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* 替换所有指定字符串为新的字符串
|
|
39
|
-
* @param {String} value 参数
|
|
40
|
-
* @param {String} oldSubstr 需要替换的字符串
|
|
41
|
-
* @param {String} newSubstr 替换后的字符串
|
|
42
|
-
* @returns {String} 返回处理后的字符串
|
|
43
|
-
*/
|
|
44
|
-
function replaceAll(value, oldSubstr, newSubstr) {
|
|
45
|
-
return value.replace(new RegExp(oldSubstr, "gm"), newSubstr);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/* 字符串转换 */
|
|
49
|
-
/**
|
|
50
|
-
* 字符串转大写
|
|
51
|
-
* @param {String} value 参数
|
|
52
|
-
* @returns {String} 返回处理后的字符串
|
|
53
|
-
*/
|
|
54
|
-
function toUpper(value) {
|
|
55
|
-
return String(value).toLocaleUpperCase();
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* 字符串转小写
|
|
60
|
-
* @param {String} value 参数
|
|
61
|
-
* @returns {String} 返回处理后的字符串
|
|
62
|
-
*/
|
|
63
|
-
function toLower(value) {
|
|
64
|
-
String(value).toLocaleLowerCase();
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* 转为 snake_case 下划线命名
|
|
69
|
-
* @description 支持 驼峰命名,短横命名,帕斯卡命名
|
|
70
|
-
* @param {String} value 参数
|
|
71
|
-
* @returns {String} 返回处理后的字符串
|
|
72
|
-
*/
|
|
73
|
-
function toSnakeCase(value) {
|
|
74
|
-
// 驼峰
|
|
75
|
-
if (/^[a-z]$/.test(value.charAt(0)) && !(value.indexOf("-") > 0 || value.indexOf("_") > 0)) {
|
|
76
|
-
return value.replace(/([A-Z])/g, "_$1").toLowerCase();
|
|
77
|
-
}
|
|
78
|
-
// 短横
|
|
79
|
-
if (value.indexOf("-") > 0) {
|
|
80
|
-
return value.replace(/-/g, "_").toLowerCase();
|
|
81
|
-
}
|
|
82
|
-
// 帕斯卡
|
|
83
|
-
if (/^[A-Z]$/.test(value.charAt(0)) && !(value.indexOf("-") > 0 || value.indexOf("_") > 0)) {
|
|
84
|
-
value = value.charAt(0).toLowerCase() + value.slice(1);
|
|
85
|
-
return value.replace(/([A-Z])/g, "_$1").toLowerCase();
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* 转为 kebab-case 短横命名
|
|
91
|
-
* @description 支持 下划线,驼峰命名,帕斯卡命名
|
|
92
|
-
* @param {String} value 参数
|
|
93
|
-
* @returns {String} 返回处理后的字符串
|
|
94
|
-
*/
|
|
95
|
-
function toKebabCase(value) {
|
|
96
|
-
// 下划线
|
|
97
|
-
if (value.indexOf("_") > 0) {
|
|
98
|
-
return value.replace(/_/g, "-").toLowerCase();
|
|
99
|
-
}
|
|
100
|
-
// 驼峰
|
|
101
|
-
if (/^[a-z]$/.test(value.charAt(0)) && !(value.indexOf("-") > 0 || value.indexOf("_") > 0)) {
|
|
102
|
-
return value.replace(/([A-Z])/g, "-$1").toLowerCase();
|
|
103
|
-
}
|
|
104
|
-
// 帕斯卡
|
|
105
|
-
if (/^[A-Z]$/.test(value.charAt(0)) && !(value.indexOf("-") > 0 || value.indexOf("_") > 0)) {
|
|
106
|
-
let newStr = value.charAt(0).toLowerCase() + value.slice(1);
|
|
107
|
-
return newStr.replace(/([A-Z])/g, "-$1").toLowerCase();
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* 转为 camelCase 驼峰命名
|
|
113
|
-
* @description 支持 下划线命名,短横命名,帕斯卡命名
|
|
114
|
-
* @param {String} value 参数
|
|
115
|
-
* @returns {String} 返回处理后的字符串
|
|
116
|
-
*/
|
|
117
|
-
function toCamelCase(value) {
|
|
118
|
-
// 下划线
|
|
119
|
-
if (value.indexOf("_") > 0) {
|
|
120
|
-
return value.replace(/\_(\w)/g, function (all, letter) {
|
|
121
|
-
return letter.toUpperCase();
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
// 短横
|
|
125
|
-
else if (value.indexOf("-") > 0) {
|
|
126
|
-
return value.replace(/\-(\w)/g, function (all, letter) {
|
|
127
|
-
return letter.toUpperCase();
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
// 帕斯卡
|
|
131
|
-
else if (/^[A-Z]$/.test(value.charAt(0)) && !(value.indexOf("-") > 0 || value.indexOf("_") > 0)) {
|
|
132
|
-
return value.charAt(0).toLowerCase() + value.slice(1);
|
|
133
|
-
}
|
|
134
|
-
// 返回自身
|
|
135
|
-
else {
|
|
136
|
-
return value;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
/**
|
|
141
|
-
* 转为 PascalCase 帕斯卡命名
|
|
142
|
-
* @description 支持 下划线命名,短横命名,驼峰命名
|
|
143
|
-
* @param {String} value 参数
|
|
144
|
-
* @returns {String} 返回处理后的字符串
|
|
145
|
-
*/
|
|
146
|
-
function toPascalCase(value) {
|
|
147
|
-
// 下划线
|
|
148
|
-
if (value.indexOf("_") > 0) {
|
|
149
|
-
let newStr = value.replace(/\_(\w)/g, function (all, letter) {
|
|
150
|
-
return letter.toUpperCase();
|
|
151
|
-
});
|
|
152
|
-
return newStr.charAt(0).toUpperCase() + newStr.slice(1);
|
|
153
|
-
}
|
|
154
|
-
// 短横
|
|
155
|
-
else if (value.indexOf("-") > 0) {
|
|
156
|
-
let newStr = value.replace(/\-(\w)/g, function (all, letter) {
|
|
157
|
-
return letter.toUpperCase();
|
|
158
|
-
});
|
|
159
|
-
return newStr.charAt(0).toUpperCase() + newStr.slice(1);
|
|
160
|
-
}
|
|
161
|
-
// 驼峰
|
|
162
|
-
else if (/^[a-z]$/.test(value.charAt(0)) && !(value.indexOf("-") > 0 || value.indexOf("_") > 0)) {
|
|
163
|
-
return value.charAt(0).toUpperCase() + value.slice(1);
|
|
164
|
-
}
|
|
165
|
-
// 返回自身
|
|
166
|
-
else {
|
|
167
|
-
return value;
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
/* 字符串格式化 */
|
|
172
|
-
/**
|
|
173
|
-
* 字符串中是否包含指定的元素
|
|
174
|
-
* @param {String} value 包含的元素
|
|
175
|
-
* @param {String} str 查找的字符串
|
|
176
|
-
* @returns {Boolean} 返回true和false
|
|
177
|
-
*/
|
|
178
|
-
function inString(value, str) {
|
|
179
|
-
return str.includes(value);
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
/**
|
|
183
|
-
* 数字前补齐0达到指定位数
|
|
184
|
-
* @description 相当于原生的 padStart(2,'0')
|
|
185
|
-
* @param {Number|String} value 补零的数字
|
|
186
|
-
* @param {Number} maxLength 补齐0后的最大长度,默认2位
|
|
187
|
-
* @returns {String} 返回补0后指定位数的字符串
|
|
188
|
-
*/
|
|
189
|
-
function zeroStart(value, maxLength = 2) {
|
|
190
|
-
let len = value.toString().length;
|
|
191
|
-
while (len < maxLength) {
|
|
192
|
-
value = "0" + value;
|
|
193
|
-
len++;
|
|
194
|
-
}
|
|
195
|
-
return value;
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
/**
|
|
199
|
-
* 数字后补齐0达到指定位数
|
|
200
|
-
* @description 相当于原生的 padEnd(2,'0')
|
|
201
|
-
* @param {Number|String} value 补零的数字
|
|
202
|
-
* @param {Number} maxLength 补齐0后的最大长度,默认2位
|
|
203
|
-
* @returns {String} 返回补0后指定位数的字符串
|
|
204
|
-
*/
|
|
205
|
-
function zeroEnd(value, maxLength = 2) {
|
|
206
|
-
let len = value.toString().length;
|
|
207
|
-
while (len < maxLength) {
|
|
208
|
-
value = value + "0";
|
|
209
|
-
len++;
|
|
210
|
-
}
|
|
211
|
-
return value;
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
/**
|
|
215
|
-
* 格式化千分位数字
|
|
216
|
-
* @description 支持任意数据传参,如果非数字则不会格式化,并返回原数据
|
|
217
|
-
* @param {Number|String} num 数字
|
|
218
|
-
* @returns {String} 返回格式化后的千分位数字
|
|
219
|
-
*/
|
|
220
|
-
function formatThousand(num) {
|
|
221
|
-
if (!parseFloat(num)) return num;
|
|
222
|
-
num = String(num);
|
|
223
|
-
let regex = num.indexOf(".") > -1 ? /(\d)(?=(\d{3})+\.)/g : /(\d)(?=(?:\d{3})+$)/g;
|
|
224
|
-
return num.replace(regex, "$1,");
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
/**
|
|
228
|
-
* 格式化人民币金额大写
|
|
229
|
-
* @param {Number|String} money 金额
|
|
230
|
-
* @returns {String} 返回金额大写
|
|
231
|
-
*/
|
|
232
|
-
function formatRmbChinese(money) {
|
|
233
|
-
// 汉字的数字
|
|
234
|
-
let cnNums = ["零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"];
|
|
235
|
-
// 基本单位
|
|
236
|
-
let cnIntRadiance = ["", "拾", "佰", "仟"];
|
|
237
|
-
// 对应整数部分扩展单位
|
|
238
|
-
let cnIntUnits = ["", "万", "亿", "兆"];
|
|
239
|
-
// 对应小数部分单位
|
|
240
|
-
let cnDecUnits = ["角", "分", "毫", "厘"];
|
|
241
|
-
// 整数金额时后面跟的字符
|
|
242
|
-
let cnInteger = "整";
|
|
243
|
-
// 整型完以后的单位
|
|
244
|
-
let cnIntLast = "元";
|
|
245
|
-
// 最大处理的数字
|
|
246
|
-
let maxNum = Number("999999999999999.9999");
|
|
247
|
-
// 金额整数部分
|
|
248
|
-
let integerNum;
|
|
249
|
-
// 金额小数部分
|
|
250
|
-
let decimalNum;
|
|
251
|
-
// 输出的中文金额字符串
|
|
252
|
-
let chineseStr = "";
|
|
253
|
-
// 分离金额后用的数组,预定义
|
|
254
|
-
let parts;
|
|
255
|
-
if (money === "") {
|
|
256
|
-
// 不能用==
|
|
257
|
-
return "";
|
|
258
|
-
}
|
|
259
|
-
money = parseFloat(money);
|
|
260
|
-
if (money >= maxNum) {
|
|
261
|
-
// 超出最大处理数字,抛出异常
|
|
262
|
-
throw new Error("Calculated number overflow!");
|
|
263
|
-
}
|
|
264
|
-
if (money === 0) {
|
|
265
|
-
chineseStr = cnNums[0] + cnIntLast + cnInteger;
|
|
266
|
-
return chineseStr;
|
|
267
|
-
}
|
|
268
|
-
// 转换为字符串
|
|
269
|
-
money = money.toString();
|
|
270
|
-
if (money.indexOf(".") === -1) {
|
|
271
|
-
integerNum = money;
|
|
272
|
-
decimalNum = "";
|
|
273
|
-
} else {
|
|
274
|
-
parts = money.split(".");
|
|
275
|
-
integerNum = parts[0];
|
|
276
|
-
decimalNum = parts[1].substr(0, 4);
|
|
277
|
-
}
|
|
278
|
-
// 获取整型部分转换
|
|
279
|
-
if (parseInt(integerNum, 10) > 0) {
|
|
280
|
-
let zeroCount = 0;
|
|
281
|
-
let IntLen = integerNum.length;
|
|
282
|
-
for (let i = 0; i < IntLen; i++) {
|
|
283
|
-
let n = integerNum.substr(i, 1);
|
|
284
|
-
let p = IntLen - i - 1;
|
|
285
|
-
let q = p / 4;
|
|
286
|
-
let m = p % 4;
|
|
287
|
-
if (n === "0") {
|
|
288
|
-
zeroCount++;
|
|
289
|
-
} else {
|
|
290
|
-
if (zeroCount > 0) {
|
|
291
|
-
chineseStr += cnNums[0];
|
|
292
|
-
}
|
|
293
|
-
// 归零
|
|
294
|
-
zeroCount = 0;
|
|
295
|
-
chineseStr += cnNums[parseInt(n)] + cnIntRadiance[m];
|
|
296
|
-
}
|
|
297
|
-
if (m === 0 && zeroCount < 4) {
|
|
298
|
-
chineseStr += cnIntUnits[q];
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
chineseStr += cnIntLast;
|
|
302
|
-
}
|
|
303
|
-
// 小数部分
|
|
304
|
-
if (decimalNum !== "") {
|
|
305
|
-
let decLen = decimalNum.length;
|
|
306
|
-
for (let i = 0; i < decLen; i++) {
|
|
307
|
-
let n = decimalNum.substr(i, 1);
|
|
308
|
-
if (n !== "0") {
|
|
309
|
-
chineseStr += cnNums[Number(n)] + cnDecUnits[i];
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
if (chineseStr === "") {
|
|
314
|
-
chineseStr += cnNums[0] + cnIntLast + cnInteger;
|
|
315
|
-
} else if (decimalNum === "") {
|
|
316
|
-
chineseStr += cnInteger;
|
|
317
|
-
}
|
|
318
|
-
return chineseStr;
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
export { formatRmbChinese, formatThousand, inString, replaceAll, toCamelCase, toKebabCase, toLower, toPascalCase, toSnakeCase, toUpper, trim, trimAll, trimEnd, trimStart, zeroEnd, zeroStart };
|