// 计算数组某个属性的总额getTableToll(arr, keyName){
let total =0;
total = arr.reduce((total, currentValue, currentIndex, arr)=>{return currentValue[keyName]?Number(total)+Number(currentValue[keyName]):Number(total);},0);return total;},
// 下载文件export function downloadFile(obj, name, suffix){const url = window.URL.createObjectURL(newBlob([obj]));const link = document.createElement('a');
link.style.display ='none';
link.href = url;const fileName =parseTime(newDate())+'-'+ name +'.'+ suffix;
link.setAttribute('download', fileName);
document.body.appendChild(link);
link.click();
document.body.removeChild(link);}
8、判断增加样式class
/**
* Check if an element has a class
* @param {HTMLElement} elm
* @param {string} cls
* @returns {boolean}
*/export function hasClass(ele, cls){return!!ele.className.match(newRegExp('(\\s|^)'+ cls +'(\\s|$)'));}/**
* Add class to element
* @param {HTMLElement} elm
* @param {string} cls
*/export function addClass(ele, cls){if(!hasClass(ele, cls)) ele.className +=' '+ cls;}// 使用// 导入addClass函数(假设在同一文件或已导入)import{ hasClass, addClass } from './utils.js';// 获取HTML元素
let myElement = document.getElementById('myDiv');// 定义要添加的CSS类const newClass ='myClass';// 检查元素是否已有该类,如果没有,则添加if(!hasClass(myElement, newClass)){addClass(myElement, newClass);}
console.log(myElement.className);
// 数字/货币金额 (只支持正数、不支持校验千分位分隔符)export function monetaryAmount(rule, value, callback){const reg =/(?:^[1-9]([0-9]+)?(?:\.[0-9]{1,2})?$)|(?:^(?:0)$)|(?:^[0-9]\.[0-9](?:[0-9])?$)/;if(value ===''|| value === undefined || value ===null){callback();}else{if(!reg.test(value)){callback(newError('请输入数字'));}else{callback();}}}
21、 正数(大于等于零的数字包括小数)
// 正数(大于等于零的数字包括小数)export function positive_number(rule, value, callback){const reg =/^[+][1-9](\d+)$|^[+]{0,1}(\d+\.\d+)$/;if(value ===''|| value === undefined || value ===null){callback();}else{if(!reg.test(value)){callback(newError('请输入正确的数字'));}else{callback();}}}
22、 手机和固化校验
// 手机和固化校验export function validateTLEPhone(rule, value, callback){const mobileReg =/^(([1][3,4,5,7,8]\d{9})|([0]\d{10,11})|(\d{7,8})|(\d{4}|\d{3})-(\d{7,8}))$/;const phoneReg =/^\d{3}-\d{8}|\d{4}-\d{7}$/;if(!value || value ===''){callback(newError('请输入联系方式'));}elseif(value.length ===11){
console.log("value.indexOf('-')", value.indexOf('-')!==-1);if(value.indexOf('-')!==-1){callback();}else{if(!mobileReg.test(value)){callback(newError('请输入正确的手机号码或者固话号码(固话格式:区号-号码)'));}else{callback();}}}elseif(value.length ===12){if(!phoneReg.test(value)){callback(newError('请输入正确的手机号码或者固话号码(固话格式:区号-号码)'));}else{callback();}}else{callback(newError('请输入正确的手机号码或者固话号码(固话格式:区号-号码)'));}}
23、 含有数字字母且必须有大写字母
// 含有数字字母且必须有大写字母export function accountNumberTwo(rule, value, callback){const reg =/^(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]+$/;if(value ===''|| value === undefined || value ===null){callback();}else{if(!reg.test(value)){callback(newError('请输入含有数字字母且必须有大写字母'));}else{callback();}}}