常见js工具积累1
downloadFile(url, fileName) { this.$axios({ method: "get", url: "/ossfile/download/" + url, responseType: 'blob' }).then(function (response) { var blob = new Blob([response.data]) var downloadElement = document.createElement('a'); var href = window.URL.createObjectURL(blob); //创建下载的链接 downloadElement.href = href; let newFileName = fileName; if (newFileName.indexOf("!") != -1) { let nameArr = newFileName.split("!"); if (nameArr.length > 1) { newFileName = nameArr[0]; let sufixs = nameArr[1].split("."); newFileName = newFileName + "." + sufixs[1]; } } downloadElement.download = newFileName; //下载后文件名 document.body.appendChild(downloadElement); downloadElement.click(); //点击下载 document.body.removeChild(downloadElement); //下载完成移除元素 window.URL.revokeObjectURL(href); //释放掉blob对象 }) .catch(function (error) { console.log(error); }); },
2.字符串是否为空以及js金额大小写转换
isNullOrEmpty(strVal) {
if (strVal == '' || strVal == null || strVal == undefined || strVal.length == 0) {
return true;
}
return false;
},
capitalAmount(amount) {
// 汉字的数字
const cnNums = ["零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"];
// 基本单位
const cnIntRadice = ["", "拾", "佰", "仟"];
// 对应整数部分扩展单位
const cnIntUnits = ["", "万", "亿", "兆"];
// 对应小数部分单位
const cnDecUnits = ["角", "分", "毫", "厘"];
// 整数金额时后面跟的字符
const cnInteger = "整";
// 整型完以后的单位
const cnIntLast = "元";
// 最大处理的数字
const maxNum = 9999999999999999.99;
// 金额整数部分
let integerNum;
// 金额小数部分
let decimalNum;
// 输出的中文金额字符串
let chineseStr = "";
// 分离金额后用的数组,预定义
let parts;
let orginAmount=amount
amount=Math.abs(amount)
if (amount === "") { return ""; }
amount = parseFloat(amount);
if (amount >= maxNum) {
// 超出最大处理数字
return "";
}
if (amount === 0) {
chineseStr = cnNums[0] + cnIntLast + cnInteger;
return chineseStr;
}
// 转换为字符串
amount = amount.toString();
if (amount.indexOf(".") === -1) {
integerNum = amount;
decimalNum = "";
} else {
parts = amount.split(".");
integerNum = parts[0];
decimalNum = parts[1].substr(0, 4);
}
// 获取整型部分转换
if (parseInt(integerNum, 10) > 0) {
let zeroCount = 0;
const IntLen = integerNum.length;
for (let i = 0; i < IntLen; i++) {
const n = integerNum.substr(i, 1);
const p = IntLen - i - 1;
const q = p / 4;
const m = p % 4;
if (n === "0") {
zeroCount++;
} else {
if (zeroCount > 0) {
chineseStr += cnNums[0];
}
// 归零
zeroCount = 0;
chineseStr += cnNums[parseInt(n, 10)] + cnIntRadice[m];
}
if (m === 0 && zeroCount < 4) {
chineseStr += cnIntUnits[q];
}
}
chineseStr += cnIntLast;
}
// 小数部分
if (decimalNum !== "") {
const decLen = decimalNum.length;
for (let i = 0; i < decLen; i++) {
const n = decimalNum.substr(i, 1);
if (n !== "0") {
chineseStr += cnNums[Number(n)] + cnDecUnits[i];
}
}
}
if (chineseStr === "") {
chineseStr += cnNums[0] + cnIntLast + cnInteger;
} else if (decimalNum === "") {
chineseStr += cnInteger;
}
if(orginAmount<0) chineseStr = "负" + chineseStr;
return chineseStr;
}

浙公网安备 33010602011771号