去除首尾空格 - trim()
function myTrim(str) {return str.replace(/(^\s+)|(\s+$)/g,'')//将前空格和后空格替换为空}
超出数量显示…
// 简单按字符长度截取if (row.length > 28) {row = row.slice(0, 13) + '...'}
// 按byte长度截取function cutStringByByte(str: string, len: number): string {if (!str && typeof str != 'undefined') {return ''}let num = 0let subStr = ''for (const i of str) {num += i.charCodeAt(0) > 255 ? 2 : 1if (num > len) {subStr += '...'break} else {subStr += i}}return subStr}
颜色转换
JavaScript颜色转换的核心就是进制间的转换。RGB格式其实就是十进制表示法,所以,十六进制颜色与RGB颜色的转换就是十六进制与十进制之间的转换。
十六进制转换为十进制相对容易些,核心代码如下示例:parseInt("0xFF"),其结果就是255,”0x”就表明当前是16进制,由于parseInt后面无参数,默认就是转换为10进制了。
十进制转换为16进制,核心代码如下:var r=255; r.toString(16);,其结果是FF。”16″表示数值转换为16进制字符串。
uuid生成随机 字符串
/*** 生成随机id* @param {*} length* @param {*} chars*/export function uuid(length, chars) {chars =chars ||'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'length = length || 8var result = ''for (var i = length; i > 0; --i)result += chars[Math.floor(Math.random() * chars.length)]return result}
基于URL或者Crypto.getRandomValues生成UUID
function genUUID() {const url = URL.createObjectURL(new Blob([]));// const uuid = url.split("/").pop();const uuid = url.substring(url.lastIndexOf('/')+ 1);URL.revokeObjectURL(url);return uuid;}genUUID() // cd205467-0120-47b0-9444-894736d873c7function uuidv4() {return ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c =>(c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)}uuidv4() // 38aa1602-ba78-4368-9235-d8703cdb6037//chrome 92支持crypto.randomUUID()
基于toLocaleString千分位
function formatMoney(num){return (+num).toLocaleString("en-US");}console.log(formatMoney(123456789)); // 123,456,789console.log(formatMoney(6781)) // 6,781console.log(formatMoney(5)) // 5//超大的数formatMoney(19999999933333333333333) // 19,999,999,933,333,333,000,000
input 输入字符串去掉首尾空格
testString.replace(/(^\s+)|(\s+$)/g,'')

内容脱敏
在一些涉及到用户隐私情况下,可能会遇到对用户的手机号身份证号之类的信息脱敏,但是这个脱敏数据的规则是根据用户信息要脱敏字段动态的生成的,此时我们动态拼接正则来实现一个动态脱敏规则
const encryptReg = (before = 3, after = 4) => {return new RegExp('(\\d{' + before + '})\\d*(\\d{' + after + '})');};// 使用:'13456789876'.replace(encryptReg(), '$1****$2') -> "134****9876"
// 手机号中间四位变成*export const telFormat = (tel) => {tel = String(tel);return tel.substr(0,3) + "****" + tel.substr(7);};
搜索
// select下拉组件的搜索function filterTableOption(input: string, option: any) {return (JSON.parse(option.value).table_name.toLowerCase().indexOf(input.toLowerCase()) >= 0 ||JSON.parse(option.value).schema_name.toLowerCase().indexOf(input.toLowerCase()) >= 0)}// sourceString.toLowerCase().indexOf(targetString.toLowerCase()) >= 0
