zutils/dist/utils/string.util.js
2024-01-17 15:16:12 +08:00

67 lines
1.8 KiB
JavaScript

// src/utils/string.util.ts
function generateKeyValStr(data, ignoreNull = true, splitChar = "&", equalChar = "=") {
const keys = Object.keys(data);
keys.sort();
let result = "";
let i = 0;
for (let key of keys) {
if (ignoreNull && !data[key]) {
return;
}
if (i++ > 0)
result += splitChar;
result += `${key}${equalChar}${data[key]}`;
}
return result;
}
function keyValToObject(str, splitChar = "&", equalChar = "=") {
let result = {};
if (!str) {
return result;
}
let arrs = str.split(splitChar);
for (let sub of arrs) {
let subArr = sub.split(equalChar);
result[subArr[0]] = subArr[1];
}
return result;
}
function isTrue(obj) {
return obj === "true" || obj === "TRUE" || obj === "True" || obj === "on" || obj === "ON" || obj === true || obj === 1 || obj === "1" || obj === "YES" || obj === "yes";
}
function isObjectId(id) {
return /^[a-fA-F0-9]{24}$/.test(id);
}
function string10to62(number) {
const chars = "0123456789abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ".split("");
const radix = chars.length;
let qutient = +number;
const arr = [];
do {
const mod = qutient % radix;
qutient = (qutient - mod) / radix;
arr.unshift(chars[mod]);
} while (qutient);
return arr.join("");
}
function string62to10(numberCode) {
const chars = "0123456789abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ";
const radix = chars.length;
numberCode = numberCode + "";
const len = numberCode.length;
let i = 0;
let originNumber = 0;
while (i < len) {
originNumber += Math.pow(radix, i++) * (chars.indexOf(numberCode.charAt(len - i)) || 0);
}
return originNumber;
}
export {
generateKeyValStr,
isObjectId,
isTrue,
keyValToObject,
string10to62,
string62to10
};
//# sourceMappingURL=string.util.js.map