mingyang_text 2022.10.27 → 2023.2.1
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/package.json +1 -1
- package/text.js +54 -34
package/package.json
CHANGED
package/text.js
CHANGED
@@ -1,17 +1,20 @@
|
|
1
1
|
|
2
2
|
/**
|
3
3
|
* 对【数字】或【字符】进行【左侧补齐】操作
|
4
|
-
* @param {"数字或字符"} args_Input
|
5
|
-
* @param {"目标长度"} args_Length
|
6
|
-
* @param {"占位符"} args_PlaceHolder
|
4
|
+
* @param {"数字或字符"} args_Input
|
5
|
+
* @param {"目标长度"} args_Length
|
6
|
+
* @param {"占位符"} args_PlaceHolder
|
7
7
|
*/
|
8
8
|
function func_StringFormat(args_Input, args_Length, args_PlaceHolder) {
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
9
|
+
let temp_TXT = args_Input.toString();
|
10
|
+
if (args_Length > temp_TXT.length) {
|
11
|
+
let temp_Fil = args_PlaceHolder.toString();
|
12
|
+
let temp_Len = args_Length - temp_TXT.length;
|
13
|
+
for (let i = 0; i < temp_Len; i++) {
|
14
|
+
temp_TXT = temp_Fil + temp_TXT;
|
15
|
+
}
|
14
16
|
}
|
17
|
+
return temp_TXT;
|
15
18
|
}
|
16
19
|
module.exports.do_StringFormat = func_StringFormat;
|
17
20
|
|
@@ -21,8 +24,8 @@ module.exports.do_StringFormat = func_StringFormat;
|
|
21
24
|
|
22
25
|
/**
|
23
26
|
* 生成随机数
|
24
|
-
* @param {"最小值,随机数可以选中最小值"} args_Min
|
25
|
-
* @param {"最大值,随机数不会选中最大值"} args_Max
|
27
|
+
* @param {"最小值,随机数可以选中最小值"} args_Min
|
28
|
+
* @param {"最大值,随机数不会选中最大值"} args_Max
|
26
29
|
*/
|
27
30
|
function func_Random(args_Min, args_Max) {
|
28
31
|
let temp_Val = Math.floor(Math.random() * (args_Max - args_Min)) + args_Min;
|
@@ -37,7 +40,7 @@ module.exports.do_Random = func_Random;
|
|
37
40
|
|
38
41
|
/**
|
39
42
|
* 格式化时间
|
40
|
-
* @param {"时间对象,如果传入空,那么将使用当前时间"} args_Date
|
43
|
+
* @param {"时间对象,如果传入空,那么将使用当前时间"} args_Date
|
41
44
|
* @param {"时间格式,例如【yyyy-MM-dd HH:mm:ss.fff】【yyyyMMddHHmmssfff】"} args_Format
|
42
45
|
*/
|
43
46
|
function func_DateTimeToString(args_Date, args_Format) {
|
@@ -75,9 +78,9 @@ module.exports.do_DateTimeToString = func_DateTimeToString;
|
|
75
78
|
|
76
79
|
/**
|
77
80
|
* 根据给定的左右标签,提取父串中的子串
|
78
|
-
* @param {"输入文本"} args_Text
|
79
|
-
* @param {"左侧标记"} args_Bin
|
80
|
-
* @param {"右侧标记"} args_End
|
81
|
+
* @param {"输入文本"} args_Text
|
82
|
+
* @param {"左侧标记"} args_Bin
|
83
|
+
* @param {"右侧标记"} args_End
|
81
84
|
*/
|
82
85
|
function func_Filter(args_Text, args_Bin, args_End) {
|
83
86
|
|
@@ -201,7 +204,7 @@ module.exports.do_TimeID = func_TimeID;
|
|
201
204
|
|
202
205
|
/**
|
203
206
|
* 从【16进制文本】转换为【普通文本】
|
204
|
-
* @param {"16进制文本"} args_Hex
|
207
|
+
* @param {"16进制文本"} args_Hex
|
205
208
|
*/
|
206
209
|
function func_Hex_goto_Plain(args_Hex) {
|
207
210
|
let t_Buffer = Buffer.from(args_Hex, 'hex');
|
@@ -211,7 +214,7 @@ module.exports.do_Hex_goto_Plain = func_Hex_goto_Plain;
|
|
211
214
|
|
212
215
|
/**
|
213
216
|
* 从【普通文本】转换为【16进制文本】
|
214
|
-
* @param {"普通文本"} args_Hex
|
217
|
+
* @param {"普通文本"} args_Hex
|
215
218
|
*/
|
216
219
|
function func_Hex_from_Plain(args_Plain) {
|
217
220
|
let t_Buffer = Buffer.from(args_Plain, "utf8");
|
@@ -225,8 +228,8 @@ module.exports.do_Hex_from_Plain = func_Hex_from_Plain;
|
|
225
228
|
|
226
229
|
/**
|
227
230
|
* 【主字符串】是否以【从字符串】开头
|
228
|
-
* @param {"主字符串"} args_Subject
|
229
|
-
* @param {"从字符串"} args_Compare
|
231
|
+
* @param {"主字符串"} args_Subject
|
232
|
+
* @param {"从字符串"} args_Compare
|
230
233
|
*/
|
231
234
|
function func_Bin_With(args_Subject, args_Compare) {
|
232
235
|
if (args_Subject == null || args_Compare == null) {
|
@@ -247,8 +250,8 @@ module.exports.do_Bin_With = func_Bin_With;
|
|
247
250
|
|
248
251
|
/**
|
249
252
|
* 【主字符串】是否以【从字符串】结尾
|
250
|
-
* @param {"主字符串"} args_Subject
|
251
|
-
* @param {"从字符串"} args_Compare
|
253
|
+
* @param {"主字符串"} args_Subject
|
254
|
+
* @param {"从字符串"} args_Compare
|
252
255
|
*/
|
253
256
|
function func_End_With(args_Subject, args_Compare) {
|
254
257
|
if (args_Subject == null || args_Compare == null) {
|
@@ -274,9 +277,9 @@ module.exports.do_End_With = func_End_With;
|
|
274
277
|
|
275
278
|
/**
|
276
279
|
* KeyValue解码
|
277
|
-
* @param {"源字符串"} args_Plain
|
278
|
-
* @param {"分割字符"} args_Split
|
279
|
-
* @param {"等于字符"} args_Equal
|
280
|
+
* @param {"源字符串"} args_Plain
|
281
|
+
* @param {"分割字符"} args_Split
|
282
|
+
* @param {"等于字符"} args_Equal
|
280
283
|
*/
|
281
284
|
function func_KeyValue_Decode(args_Plain, args_Split, args_Equal) {
|
282
285
|
|
@@ -299,9 +302,9 @@ module.exports.do_KeyValue_Decode = func_KeyValue_Decode;
|
|
299
302
|
|
300
303
|
/**
|
301
304
|
* KeyValue编码
|
302
|
-
* @param {"源数据包"} args_Datas
|
303
|
-
* @param {"分割字符"} args_Split
|
304
|
-
* @param {"等于字符"} args_Equal
|
305
|
+
* @param {"源数据包"} args_Datas
|
306
|
+
* @param {"分割字符"} args_Split
|
307
|
+
* @param {"等于字符"} args_Equal
|
305
308
|
*/
|
306
309
|
function func_KeyValue_Encode(args_Datas, args_Split, args_Equal) {
|
307
310
|
|
@@ -330,9 +333,9 @@ module.exports.do_KeyValue_Encode = func_KeyValue_Encode;
|
|
330
333
|
|
331
334
|
/**
|
332
335
|
* 【十进制数字】转成【它进制数字】
|
333
|
-
* @param {"来源十进制数,例如:110715"} args_DecimalNumber
|
334
|
-
* @param {"目标进制基数,例如:62"} args_NumberSystem
|
335
|
-
* @param {"目标记号字符,例如:0123456789ABCDEF"} args_VisibleChar
|
336
|
+
* @param {"来源十进制数,例如:110715"} args_DecimalNumber
|
337
|
+
* @param {"目标进制基数,例如:62"} args_NumberSystem
|
338
|
+
* @param {"目标记号字符,例如:0123456789ABCDEF"} args_VisibleChar
|
336
339
|
*/
|
337
340
|
function func_DecimalToOther(args_DecimalNumber, args_NumberSystem, args_VisibleChar = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz") {
|
338
341
|
|
@@ -362,9 +365,9 @@ module.exports.do_DecimalToOther = func_DecimalToOther;
|
|
362
365
|
|
363
366
|
/**
|
364
367
|
* 【它进制数字】转成【十进制数字】
|
365
|
-
* @param {"来源进制数值,例如:TO80HHL"} args_OtherNumber
|
366
|
-
* @param {"来源进制基数,例如:62"} args_NumberSystem
|
367
|
-
* @param {"来源记号字符,例如:0123456789ABCDEF"} args_VisibleChar
|
368
|
+
* @param {"来源进制数值,例如:TO80HHL"} args_OtherNumber
|
369
|
+
* @param {"来源进制基数,例如:62"} args_NumberSystem
|
370
|
+
* @param {"来源记号字符,例如:0123456789ABCDEF"} args_VisibleChar
|
368
371
|
*/
|
369
372
|
function func_DecimalFromOther(args_OtherNumber, args_NumberSystem, args_VisibleChar = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz") {
|
370
373
|
|
@@ -400,7 +403,7 @@ module.exports.do_DecimalFromOther = func_DecimalFromOther;
|
|
400
403
|
|
401
404
|
/**
|
402
405
|
* 【10进制数字】转成【62进制数字】
|
403
|
-
* @param {"10进制数"} args_Base10Number
|
406
|
+
* @param {"10进制数"} args_Base10Number
|
404
407
|
*/
|
405
408
|
function func_Base62Encode(args_Base10Number) {
|
406
409
|
return func_DecimalToOther(args_Base10Number, 62);
|
@@ -409,9 +412,26 @@ module.exports.do_Base62Encode = func_Base62Encode;
|
|
409
412
|
|
410
413
|
/**
|
411
414
|
* 【62进制数字】转成【10进制数字】
|
412
|
-
* @param {"62进制数"} args_Base62Number
|
415
|
+
* @param {"62进制数"} args_Base62Number
|
413
416
|
*/
|
414
417
|
function func_Base62Decode(args_Base62Number) {
|
415
418
|
return func_DecimalFromOther(args_Base62Number, 62);
|
416
419
|
}
|
417
420
|
module.exports.do_Base62Decode = func_Base62Decode;
|
421
|
+
|
422
|
+
|
423
|
+
/**
|
424
|
+
* 按照字节长度截取字符串
|
425
|
+
* @param {"原始字符"} args_InputString
|
426
|
+
* @param {"目标长度"} args_ByteLength
|
427
|
+
* @param {"编码方式"} args_Encoding
|
428
|
+
*/
|
429
|
+
module.exports.do_Byte_Truncate = (args_InputString, args_ByteLength, args_Encoding = "utf8") => {
|
430
|
+
let temp_Description = args_InputString.substring(0, args_ByteLength);
|
431
|
+
let temp_Buffer = Buffer.from(temp_Description, args_Encoding);
|
432
|
+
while (temp_Buffer.length > args_ByteLength) {
|
433
|
+
temp_Description = temp_Description.substring(0, temp_Description.length - 1);
|
434
|
+
temp_Buffer = Buffer.from(temp_Description, args_Encoding);
|
435
|
+
}
|
436
|
+
return temp_Description;
|
437
|
+
}
|