详情
一个快速学习、速查的站点
/**
* @param {Number} type: 1:首字母大写 2:首字母小写 3:大小写转换 4:全部大写 5:全部小写
*/
export const changeCase = (str, type) => {
type = type || 4;
switch (type) {
case 1:
return str.replace(/\b\w+\b/g, function(word) {
return (
word.substring(0, 1).toUpperCase() + word.substring(1).toLowerCase()
);
});
case 2:
return str.replace(/\b\w+\b/g, function(word) {
return (
word.substring(0, 1).toLowerCase() + word.substring(1).toUpperCase()
);
});
case 3:
return str
.split("")
.map(function(word) {
if (/[a-z]/.test(word)) {
return word.toUpperCase();
} else {
return word.toLowerCase();
}
})
.join("");
case 4:
return str.toUpperCase();
case 5:
return str.toLowerCase();
default:
return str;
}
};
/**
* 连线、下划线模式转小驼峰
* @param {*} str
* @returns
*/
export const toCamelCase = str => {
return str.replace(/[-_](\w)/g, (all, letter) => letter.toUpperCase());
};
连线模式一般用于前端组件命名中。
/**
* 小驼峰模式转连线模式
* @param {*} str
* @returns
*/
export const toHyphenate = str => {
return str.replace(/([A-Z])/g, "-$1").toLowerCase();
};
/**
* 小驼峰模式转下划线模式
* @param {*} str
* @returns
*/
export const toUnderScore = str => {
return str.replace(/([A-Z])/g, "_$1").toLowerCase();
}
/**
* 小驼峰模式或下划线模式转帕斯卡模式
* @param {*} str
* @returns
*/
export const toPascalCase = str => {
return str.replace(/([A-Z])/g, "_$1").toUpperCase();
}
export const convertArabicNumberToChineseCaptialNumber = num => {
var AA = new Array(
"零",
"一",
"二",
"三",
"四",
"五",
"六",
"七",
"八",
"九",
"十"
);
var BB = new Array("", "十", "百", "仟", "萬", "億", "点", "");
var a = ("" + num).replace(/(^0*)/g, "").split("."),
k = 0,
re = "";
for (var i = a[0].length - 1; i >= 0; i--) {
switch (k) {
case 0:
re = BB[7] + re;
break;
case 4:
if (!new RegExp("0{4}//d{" + (a[0].length - i - 1) + "}$").test(a[0]))
re = BB[4] + re;
break;
case 8:
re = BB[5] + re;
BB[7] = BB[5];
k = 0;
break;
}
if (k % 4 == 2 && a[0].charAt(i + 2) != 0 && a[0].charAt(i + 1) == 0)
re = AA[0] + re;
if (a[0].charAt(i) != 0) re = AA[a[0].charAt(i)] + BB[k % 4] + re;
k++;
}
if (a.length > 1) {
// 加上小数部分(如果有小数部分)
re += BB[6];
for (var i = 0; i < a[1].length; i++) re += AA[a[1].charAt(i)];
}
if (re == "一十") re = "十";
if (re.match(/^一/) && re.length == 3) re = re.replace("一", "");
return re;
};
export const convertNumbersToChineseCapitalAmount = Num => {
//判断如果传递进来的不是字符的话转换为字符
if (typeof Num == "number") {
Num = new String(Num);
}
Num = Num.replace(/,/g, ""); //替换tomoney()中的“,”
Num = Num.replace(/ /g, ""); //替换tomoney()中的空格
Num = Num.replace(/¥/g, ""); //替换掉可能出现的¥字符
if (isNaN(Num)) {
//验证输入的字符是否为数字
//alert("请检查小写金额是否正确");
return "";
}
//字符处理完毕后开始转换,采用前后两部分分别转换
var part = String(Num).split(".");
var newchar = "";
//小数点前进行转化
for (var i = part[0].length - 1; i >= 0; i--) {
if (part[0].length > 10) {
return "";
//若数量超过拾亿单位,提示
}
var tmpnewchar = "";
var perchar = part[0].charAt(i);
switch (perchar) {
case "0":
tmpnewchar = "零" + tmpnewchar;
break;
case "1":
tmpnewchar = "壹" + tmpnewchar;
break;
case "2":
tmpnewchar = "贰" + tmpnewchar;
break;
case "3":
tmpnewchar = "叁" + tmpnewchar;
break;
case "4":
tmpnewchar = "肆" + tmpnewchar;
break;
case "5":
tmpnewchar = "伍" + tmpnewchar;
break;
case "6":
tmpnewchar = "陆" + tmpnewchar;
break;
case "7":
tmpnewchar = "柒" + tmpnewchar;
break;
case "8":
tmpnewchar = "捌" + tmpnewchar;
break;
case "9":
tmpnewchar = "玖" + tmpnewchar;
break;
}
switch (part[0].length - i - 1) {
case 0:
tmpnewchar = tmpnewchar + "元";
break;
case 1:
if (perchar != 0) tmpnewchar = tmpnewchar + "拾";
break;
case 2:
if (perchar != 0) tmpnewchar = tmpnewchar + "佰";
break;
case 3:
if (perchar != 0) tmpnewchar = tmpnewchar + "仟";
break;
case 4:
tmpnewchar = tmpnewchar + "万";
break;
case 5:
if (perchar != 0) tmpnewchar = tmpnewchar + "拾";
break;
case 6:
if (perchar != 0) tmpnewchar = tmpnewchar + "佰";
break;
case 7:
if (perchar != 0) tmpnewchar = tmpnewchar + "仟";
break;
case 8:
tmpnewchar = tmpnewchar + "亿";
break;
case 9:
tmpnewchar = tmpnewchar + "拾";
break;
}
var newchar = tmpnewchar + newchar;
}
//小数点之后进行转化
if (Num.indexOf(".") != -1) {
if (part[1].length > 2) {
// alert("小数点之后只能保留两位,系统将自动截断");
part[1] = part[1].substr(0, 2);
}
for (i = 0; i < part[1].length; i++) {
tmpnewchar = "";
perchar = part[1].charAt(i);
switch (perchar) {
case "0":
tmpnewchar = "零" + tmpnewchar;
break;
case "1":
tmpnewchar = "壹" + tmpnewchar;
break;
case "2":
tmpnewchar = "贰" + tmpnewchar;
break;
case "3":
tmpnewchar = "叁" + tmpnewchar;
break;
case "4":
tmpnewchar = "肆" + tmpnewchar;
break;
case "5":
tmpnewchar = "伍" + tmpnewchar;
break;
case "6":
tmpnewchar = "陆" + tmpnewchar;
break;
case "7":
tmpnewchar = "柒" + tmpnewchar;
break;
case "8":
tmpnewchar = "捌" + tmpnewchar;
break;
case "9":
tmpnewchar = "玖" + tmpnewchar;
break;
}
if (i == 0) tmpnewchar = tmpnewchar + "角";
if (i == 1) tmpnewchar = tmpnewchar + "分";
newchar = newchar + tmpnewchar;
}
}
//替换所有无用汉字
while (newchar.search("零零") != -1) newchar = newchar.replace("零零", "零");
newchar = newchar.replace("零亿", "亿");
newchar = newchar.replace("亿万", "亿");
newchar = newchar.replace("零万", "万");
newchar = newchar.replace("零元", "元");
newchar = newchar.replace("零角", "");
newchar = newchar.replace("零分", "");
if (newchar.charAt(newchar.length - 1) == "元") {
newchar = newchar + "整";
}
return newchar;
};
例如:12345678.9
'0,000.00' -> '12,345,678.90' '0,000' -> '12,345,678' '0.0' -> '12345678.9' '0,000.0' -> '12,345,678.9' '0,000.00%' -> '12,345,678.90%' '$0,000.00' -> '$12,345,678.90'
/**
* 通过格式化文本转换数字的显示格式
*/
export const formatNumber = (value, format) => {
if (typeof value !== 'number') return '';
if (!format) return value;
const r = RegExp('^([^\\d]*)?(\\d*,?\\d*)*(\\.?\\d*)*([^\\d]*)?$').exec(
format
);
const [, prefix, i, decimal, suffix] = Array.from(r ?? []);
const integer = (i?.includes(',') ? i?.replace(/^(\d+,)*/g, '') : -1) ?? -1;
if (suffix === '%') {
// eslint-disable-next-line no-param-reassign
value *= 100;
}
// 千分位
const reg = new RegExp(
`(\\d{1,${integer.length}})(?=(\\d{${integer.length}})+$)`,
'g'
);
return `${prefix ?? ''}${value
.toFixed(Math.max(0, (decimal?.length ?? 1) - 1))
.replace(/^(\d+)((\.\d+)?)$/, (s, s1, s2) => {
return (integer === -1 ? s1 : s1.replace(reg, '$&,')) + s2;
})}${suffix ?? ''}`;
};
该应用可以安装在您的 PC 或移动设备上。这将使该 Web 应用程序外观和行为与其他应用程序相同。它将在出现在应用程序列表中,并可以固定到主屏幕,开始菜单或任务栏。此 Web 应用程序还将能够与其他应用程序和您的操作系统安全地进行交互。
一个快速学习、速查的站点