整理一部分常用js的方法,方便后续查找使用
- 金额转化中文大写;
- 日期格式化;
- 日期转数字;
- xxs转义和xss反转义;
- 码值转中文
金额转化中文大写
function changeMoneyToChinese(money) {
let cnN = ["零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"];
let cnIntR = ["", "拾", "佰", "仟"];
let cnIntU = ["", "万", "亿", "兆", "千兆"];
let cnDecU = ["角", "分", "厘", "毫"];
let cnIntL = "";
let maxNum = toBigNum("9999999999999999.9999");
function toBigNum(value) {
if (typeof value == "string") {
value = value.trim();
}
return new Bignumber(value);
}
let intNum;
let decNum;
let cnStr = "";
//整数转化
function intToCnStr(intNum) {
let zeroCount = 0;
let intLen = intNum.length;
for (let i = 0; i < intLen; i++) {
let n = intNum.substr(i, 1);
let m = intLen - i - 1;
let p = m / 4;
let q = m % 4;
if (n === "0") {
zeroCount++;
} else {
if (zeroCount > 0) {
cnStr += cnN[0];
}
zeroCount = 0;
cnStr += cnN[parseInt(n)] + cnIntR[q];
}
if (q === 0 && zeroCount < 4) {
cnStr += cnIntU[p];
}
}
return (cnStr += cnIntL);
}
//获取小数部分转化
function decToStr(decNum) {
let decLen = decNum.length;
for (let i = 0; i < decLen; i++) {
let n = decNum.substr(i, 1);
if (n !== "0") {
cnStr += cnN[Number(n)] + cnDecU[i];
}
}
return cnStr;
}
if (typeof money !== "string") {
money = money + "";
}
if (money === "" || money.indexOf("-") === 0) {
return "";
}
money = money.split(",").join("");
if (typeof money == "string") {
money = money.trim();
}
let moneyDec=toBigNum(money);
//判断数字是否有效
if(!moneyDec.isFinite()){
return "";
}
if(moneyDec.isGreaterThanOrEqualTo(maxNum)){
return "超出最大处理金额";
}
if(money===0){
cnStr=cnN[0]+cnIntL;
return cnStr;
}
money=money.toString();
if(money.indexOf(".")===-1){
intNum=money;
decNum="";
}else{
let parts=money.split(".");
intNum=parts[0];
decNum=parts[1].substr(0,4);
}
if(parseInt(intNum,10)>0){
cnStr=intToCnStr(intNum);
}
if(decNum!==""){
cnStr=decToStr(decNum);
}
if(cnStr===""){
cnStr+=cnN[0]+cnIntL;
}
return cnStr
}
日期格式化
function dateFormat(val, format) {
let o = {
"y+": val.getFullYear(),
"M+": val.getMonth(),
"d+": val.getDate(),
"h+": val.getHours(),
"m+": val.getMinutes(),
"s+": val.getSeconds(),
"q+": Math.floor((val.getMonth() + 3) / 3),
"S+": val.getMilliseconds(),
};
for (let k in o) {
if (new RegExp("(" + k + ")").test(fmt)) {
if ("S+" === k) {
fmt = fmt.replace(
RegExp.$1,
RegExp.$1.length === 1
? o[k]
: ("000" + o[k]).substr(("" + o[k]).length)
);
}else{
fmt = fmt.replace(
RegExp.$1,
RegExp.$1.length === 1
? o[k]
: ("00" + o[k]).substr(("" + o[k]).length)
);
}
}
}
return fmt;
}
日期转数字
function dateToNumber(date, format) {
if (format === "d") {
return date.replace(new RegExp("-", "gm"), "");
} else if (format === "t") {
return date.replace(new RegExp(":", "gm"), "");
}
return date;
}
xxs转义和xss反转义
function escapeHtml(str) {
return str.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
}
function unEscapeHtml(str) {
return str.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
}
码值转中文
function getText(val, arr) {
if ((!val && val !== 0) || !Array.isArray(arr) || typeof val !== "string") {
return;
}
let valLen = val.toString().split(",");
if (valLen.length) {
let valLenList = [];
for (let k = 0; k < valLen.length; k++) {
arr.map((item) => {
if (item.value === valLen[k]) {
valLenList.push(item.label);
return valLenList;
}
});
}
return valLenList;
}
}
后续慢慢补充...