1.識別ie瀏覽器
export const isIe = () => { let explorer = window.navigator.userAgent; //判斷是否為IE瀏覽器 if (explorer.indexOf("MSIE") >= 0) { return true; }else { return false } }
2.顏色16進制轉rgba
/** * 顏色轉換16進制轉rgba * @param {String} hex * @param {Number} opacity */ export function hex2Rgba(hex, opacity) { if(!hex) hex = "#2c4dae"; return "rgba(" + parseInt("0x" + hex.slice(1, 3)) + "," + parseInt("0x" + hex.slice(3, 5)) + "," + parseInt("0x" + hex.slice(5, 7)) + "," + (opacity || "1") + ")"; }
3.去除html標簽
// 去除html標簽 export const htmlSafeStr = (str) => { return str.replace(/<[^>]+>/g, "") }
4.獲取url參數對象
/* 獲取url參數 */ export const getQueryString = () => { let qs = location.href.split('?')[1] || '', args = {}, items = qs.length ? qs.split("&") : []; items.forEach((item,i) => { let arr = item.split('='), name = decodeURIComponent(arr[0]), value = decodeURIComponent(arr[1]); name.length && (args[name] = value) }) return args; }
5.解析url參數
/* 解析url參數 */ export const paramsToStringify = (params) => { if(params){ let query = []; for(let key in params){ query.push(`${key}=${params[key]}`) } return `${query.join('&')}` }else{ return '' } }
6.將數據轉換為數組
export const toArray = (data) => { return Array.isArray(data) ? data : [data] }
7.帶參數跳轉url(hash模式)
/** * 帶參數跳轉url(hash模式) * @param {String} url * @param {Object} params */ export const toPage = (url, params) => { if(params){ let query = []; for(let key in params){ query.push(`${key}=${params[key]}`) } window.location.href = `./index.html#/${url}?${query.join('&')}`; }else{ window.location.href = `./index.html#/${url}`; } }
8.控制字符串顯示,超出指定字數則顯示省略號
/** * 指定字符串 溢出顯示省略號 * @param {String} str * @param {Number} num */ export const getSubStringSum = (str = "", num = 1) => { let newStr; if(str){ str = str + ''; if (str.trim().length > num ) { newStr = str.trim().substring(0, num) + "..."; } else { newStr = str.trim(); } }else{ newStr = '' } return newStr; }
9.生成uuid
/** * 生成uuid * @param {number} len 生成指定長度的uuid * @param {number} radix uuid進制數 */ export function uuid(len, radix) { let chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split(''); let uuid = [], i; radix = radix || chars.length; if (len) { for (i = 0; i < len; i++) uuid[i] = chars[0 | Math.random()*radix]; } else { let r; uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-'; uuid[14] = '4'; for (i = 0; i < 36; i++) { if (!uuid[i]) { r = 0 | Math.random()*16; uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r]; } } } return uuid.join(''); }
10.生成指定格式的時間字符串
/** * 生成指定格式的時間 * @param {*} timeStemp 時間戳 * @param {*} flag 格式符號 */ export function formatTime(timeStemp, flag) { let time = new Date(timeStemp); let timeArr = [time.getFullYear(), time.getMonth() + 1, time.getDate()]; return timeArr.join(flag || '/') }
這是在微信公眾號—趣談前端看到的,感覺很有用,就保存下來