例如: 检查是否为空数组 、是否是空 不为空false 为空true、校验密码、校验手机号格式、校验邮箱格式、校验身份证号格式、校验值长度 不少于6位数、 电话号码加密 15288889999 转化为 152****9999、身份证号码加密、验证输入重量、金额等类型 例如 0.11 2.23 100.123等等 、验证输入的钱 单纯验证金额类型 、验证是否是纯数值 、处理数据 :可把制定相同的key值得对象存储到下级得children中、生成唯一ID、数字转中文 运行结果 : 1 转为 一、图片转为base64、获取随机字符串、授权微信小程序消息推送。

(图片来源网络,侵删)
新建utils.js文件
/** * 通用的数据处理和验证类 1、在main.js中配置下列代码 import Utils from '@/utils/utils.js'; Vue.prototype.$Utils = Utils; 2、使用方式 let str = "0"; if(this.$Utils.isNull(str)){ console.log("str 是空") } */ export default class Utils { /** * 检查是否为空数组 空数组返回 true * @param {Array} arr 数组 * @return Boolean */ static isEmptyArr(arr) { if (!Array.isArray(arr)) throw new Error('isEmptyArr 参数不是一个数组'); if (!arr.length) return true; return false; } /** * 是否是空 不为空false 为空true * @param {any} opt 验证参数 * @return Boolean */ static isNull(opt) { if (opt == '' || opt == null || opt == 'null' || opt == undefined) return true; return false; } /** * 校验密码 * @param phone * @returns {boolean} */ static checkPassword(phone) { let reg = /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'?,./]).{8,}$/; return reg.test(phone); } /** * 校验手机号格式 * @param phone * @returns {boolean} */ static checkPhone(phone) { let reg = /^1[3456789]\d{9}$/; return reg.test(phone); } /** * 校验邮箱格式 * @param email * @returns {boolean} */ static checkEmail(email) { let reg = /^\w+@[a-z0-9]+\.[a-z]{2,4}$/; return reg.test(email); } /** * 校验身份证号格式 * @param email * @returns {boolean} */ static checkCardNo(email) { let reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; return reg.test(email); } /** * 校验值长度 不少于6位数 * @param email * @returns {boolean} */ static checkValueLength(password, min = 6, max = 0) { let regExp = new RegExp(`^[\\s\\S]{${min || ''},${max || ''}}$`); return regExp.test(password); } /** * 电话号码加密 15288889999 转化为 152****9999 */ static phoneEncryption(phone = "") { return phone.replace(/^(\d{3})\d{4}(\d+)/, '$1****$2') } /** * 身份证号码加密 */ static idCardEncryption(idCard) { if (!idCard) return "" let reg = /^(.{6})(?:\d+)(.{4})$/ let result = idCard.replace(reg, '\$1******\$2') // 身份证号脱敏,将中间8位替换为“*” return result } /**验证输入重量、金额等类型 例如 0.11 2.23 100.123等等 * @param {Object} value */ static checkMoney(value, len = 6) { let reg = /\d{1,}\.{0,1}\d{0,2}/; if (value.replace(reg, '')) { value = (value.match(reg) == null ? '' : value.match(reg)); } if ((value >= 1) && (`${value}`.indexOf(0) == 0)) { value = parseFloat(value); } if (`${value}`.indexOf('00') == 0) { value = 0; } let str = parseInt(value).toString(); if (str.length >= len && (value.toString().indexOf('.') { const parent = data.find((i) => i[key] === item[key]); if (parent) { parent[name].push({ ...item }); } else { let obj = { ...item }; if (!obj[name]) { obj[name] = []; } obj[name].push({ ...item }); data.push(obj); } }); return data; } // 表单验证 static validateForm(key, rules) { var check = true rules[key].forEach((v) => { // 验证失败 if (!(v.rule).test(this[key])) { uni.showToast({ title: v.msg, icon: 'none' }); check = false return false } }) return check }; // uniapp 获取到上一页的信息, 适用:添加、编辑数据的时候,刷新上一页列表的数据 static beforePage(num = 1) { // 当前页的数据, let pages = getCurrentPages(); // 上一页的数据 let prevPage = pages[pages.length - (num + 1)]; return prevPage.$vm; }; //生成唯一ID : 根据当前系统时间随机生成一个长字符串 static getID() { const now = new Date() const year = now.getFullYear(); let month = now.getMonth() + 1; let day = now.getDate(); let hour = now.getHours(); let minutes = now.getMinutes(); let seconds = now.getSeconds(); month = month { let strArr = temp.toString().split('').reverse() let newNum = '' let newArr = [] strArr.forEach((item, index) => { newArr.unshift(item === '0' ? changeNum[item] : changeNum[item] + unit[index]) }) let numArr = [] newArr.forEach((m, n) => { if (m !== '零') numArr.push(n) }) if (newArr.length > 1) { newArr.forEach((m, n) => { if (newArr[newArr.length - 1] === '零') { if (n { // #ifdef MP-WEIXIN uni.getFileSystemManager().readFile({ filePath: url, //选择图片返回的相对路径 encoding: 'base64', //编码格式 success: res => { //成功的回调 console.log(res, '返回结果'); let base64 = 'data:image/jpeg;base64,' + res.data //不加上这串字符,在页面无法显示的哦 callback && callback(base64) }, fail: (e) => { console.log("图片转换失败"); } }) // #endif // #ifdef H5 uni.request({ url: url, method: 'GET', responseType: 'arraybuffer', success: res => { let base64 = uni.arrayBufferToBase64(res.data); //把arraybuffer转成base64 base64 = 'data:image/jpeg;base64,' + base64; callback && callback(base64) }, fail: (e) => { console.log("图片转换失败"); } }) // #endif // #ifdef APP-PLUS plus.io.resolveLocalFileSystemURL(url, (entry) => { entry.file((file) => { let fileReader = new plus.io.FileReader(); fileReader.onloadend = (e) => { callback && callback(e.target.result) }; fileReader.readAsDataURL(file); }) }) // #endif }; // 获取随机字符串 static generateRandomString(length = 32) { const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; let result = ''; for (let i = 0; i直接使用方法:
1、在main.js中配置下列代码 import Utils from '@/utils/utils.js'; Vue.prototype.$Utils = Utils; 2、使用方式 let str = "0"; if(this.$Utils.isNull(str)){ console.log("str 是空") }(图片来源网络,侵删)