【filter】常用
使用方法
{{ val | name}} val:vue中的动态值,name:filter中的方法名
1.数字转中文
const DigitalChineseNum = function (value, args) {
var arr1 = new Array(
"零",
"一",
"二",
"三",
"四",
"五",
"六",
"七",
"八",
"九"
);
var arr2 = new Array(
"",
"十",
"百",
"千",
"万",
"十",
"百",
"千",
"亿",
"十",
"百",
"千",
"万",
"十",
"百",
"千",
"亿"
); //可继续追加更高位转换值
if (!value || isNaN(value)) {
return "零";
}
var english = value.toString().split("");
var result = "";
for (var i = 0; i < english.length; i++) {
var des_i = english.length - 1 - i; //倒序排列设值
result = arr2[i] + result;
var arr1_index = english[des_i];
result = arr1[arr1_index] + result;
}
//将【零千、零百】换成【零】 【十零】换成【十】
result = result.replace(/零(千|百|十)/g, "零").replace(/十零/g, "十");
//合并中间多个零为一个零
result = result.replace(/零+/g, "零");
//将【零亿】换成【亿】【零万】换成【万】
result = result.replace(/零亿/g, "亿").replace(/零万/g, "万");
//将【亿万】换成【亿】
result = result.replace(/亿万/g, "亿");
//移除末尾的零
result = result.replace(/零+$/, "");
//将【零一十】换成【零十】
//result = result.replace(/零一十/g, '零十');//貌似正规读法是零一十
//将【一十】换成【十】
result = result.replace(/^一十/g, "十");
return result;
};
//导出
export {DigitalChineseNum};
【公共方法 common.js】
// 去除空格
export const toTrim = (data) => {
data = data.replace(/[, ]/g, "");
return data;
};
// 去除书名号
export const clearBookMarks = (data) => {
let pat = new RegExp("《([^《|》]*)》", "g");
let results;
let res = pat.exec(data);
if (res) {
results = res[1];
}
return results;
};
//将小数转为百分比
export const toPercent = (point) => {
var percent = Number(point * 100).toFixed(0); //保留0位
return percent;
};
//使用方法
在相应页面引入
import { toTrim } from "@/common/common.js";