- 日期工具date工具函数
- 110.浏览器存储相关storage工具函数
- 111.localStorage 存贮
- 112.localStorage 获取
- 113.localStorage 移除
- 114.localStorage 存贮某一段时间失效
- 115.sessionStorage 存贮
- 116.sessionStorage 获取
- 117.sessionStorage 删除
- 118.sessionStorage 存贮某一段时间失效
- 119.cookie 存贮
- 120.cookie 获取
- 121.cookie 删除
- 122.金钱格式化,三位加逗号
- 123.截取字符串并加身略号
- 124.获取文件base64编码
- 125.B转换到KB,MB,GB并保留两位小数
- 126.base64转file
- 127.base64转blob
文章摘自269个工具函数库:269个工具函数库上
日期工具date工具函数
110.浏览器存储相关storage工具函数
111.localStorage 存贮
/*** 目前对象值如果是函数 、RegExp等特殊对象存贮会被忽略* @param { String } key 属性* @param { string } value 值*/export const localStorageSet = (key, value) => {if (typeof (value) === 'object') value = JSON.stringify(value);localStorage.setItem(key, value)};
112.localStorage 获取
/*** @param {String} key 属性*/export const localStorageGet = (key) => {return localStorage.getItem(key)};
113.localStorage 移除
/*** @param {String} key 属性*/export const localStorageGet = (key) => {return localStorage.getItem(key)};
114.localStorage 存贮某一段时间失效
/*** @param {String} key 属性* @param {*} value 存贮值* @param { number } expire 过期时间,毫秒数*/export const localStorageSetExpire = (key, value, expire) => {if (typeof (value) === 'object') value = JSON.stringify(value);localStorage.setItem(key, value);setTimeout(() => {localStorage.removeItem(key)}, expire)};
115.sessionStorage 存贮
/*** @param {String} key 属性* @param {*} value 值*/export const sessionStorageSet = (key, value) => {if (typeof (value) === 'object') value = JSON.stringify(value);sessionStorage.setItem(key, value)};
116.sessionStorage 获取
/*** @param {String} key 属性*/export const sessionStorageGet = (key) => {return sessionStorage.getItem(key)};
117.sessionStorage 删除
/*** @param {String} key 属性*/export const sessionStorageRemove = (key) => {sessionStorage.removeItem(key)};
118.sessionStorage 存贮某一段时间失效
/*** @param {String} key 属性* @param {*} value 存贮值* @param {String} expire 过期时间,毫秒数*/export const sessionStorageSetExpire = (key, value, expire) => {if (typeof (value) === 'object') value = JSON.stringify(value);sessionStorage.setItem(key, value);setTimeout(() => {sessionStorage.removeItem(key)}, expire)};
119.cookie 存贮
/*** @param {String} key 属性* @param {*} value 值* @param { String } expire 过期时间,单位天*/export const cookieSet = (key, value, expire) => {const d = new Date();d.setDate(d.getDate() + expire);document.cookie = `${key}=${value};expires=${d.toUTCString()}`};
120.cookie 获取
/*** @param {String} key 属性*/export const cookieGet = (key) => {const cookieStr = unescape(document.cookie);const arr = cookieStr.split('; ');let cookieValue = '';for (let i = 0; i < arr.length; i++) {const temp = arr[i].split('=');if (temp[0] === key) {cookieValue = temp[1];break}}return cookieValue};
121.cookie 删除
/*** @param {String} key 属性*/export const cookieRemove = (key) => {document.cookie = `${encodeURIComponent(key)}=;expires=${new Date()}`};
更多的工具函数
122.金钱格式化,三位加逗号
/*** @param { number } num*/export const formatMoney = num => num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
123.截取字符串并加身略号
export function subText(str, length) {if (str.length === 0) {return '';}if (str.length > length) {return str.substr(0, length) + "...";} else {return str;}}
124.获取文件base64编码
/*** @param file* @param format 指定文件格式* @param size 指定文件大小(字节)* @param formatMsg 格式错误提示* @param sizeMsg 大小超出限制提示* @returns {Promise<any>}*/export function fileToBase64String(file, format = ['jpg', 'jpeg', 'png', 'gif'], size = 20 * 1024 * 1024, formatMsg = '文件格式不正确', sizeMsg = '文件大小超出限制') {return new Promise((resolve, reject) => {// 格式过滤let suffix = file.type.split('/')[1].toLowerCase();let inFormat = false;for (let i = 0; i < format.length; i++) {if (suffix === format[i]) {inFormat = true;break;}}if (!inFormat) {reject(formatMsg);}// 大小过滤if (file.size > size) {reject(sizeMsg);}// 转base64字符串let fileReader = new FileReader();fileReader.readAsDataURL(file);fileReader.onload = () => {let res = fileReader.result;resolve({base64String: res, suffix: suffix});reject('异常文件,请重新选择');}})}
125.B转换到KB,MB,GB并保留两位小数
/*** @param { number } fileSize*/export function formatFileSize(fileSize) {let temp;if (fileSize < 1024) {return fileSize + 'B';} else if (fileSize < (1024 * 1024)) {temp = fileSize / 1024;temp = temp.toFixed(2);return temp + 'KB';} else if (fileSize < (1024 * 1024 * 1024)) {temp = fileSize / (1024 * 1024);temp = temp.toFixed(2);return temp + 'MB';} else {temp = fileSize / (1024 * 1024 * 1024);temp = temp.toFixed(2);return temp + 'GB';}}
126.base64转file
/*** @param { base64 } base64* @param { string } filename 转换后的文件名*/export const base64ToFile = (base64, filename )=> {let arr = base64.split(',');let mime = arr[0].match(/:(.*?);/)[1];let suffix = mime.split('/')[1] ;// 图片后缀let bstr = atob(arr[1]);let n = bstr.length;let u8arr = new Uint8Array(n);while (n--) {u8arr[n] = bstr.charCodeAt(n)}return new File([u8arr], `${filename}.${suffix}`, { type: mime })};
127.base64转blob
/*** @param { base64 } base64*/export const base64ToBlob = base64 => {let arr = base64.split(','),mime = arr[0].match(/:(.*?);/)[1],bstr = atob(arr[1]),n = bstr.length,u8arr = new Uint8Array(n);while (n--) {u8arr[n] = bstr.charCodeAt(n);}return new Blob([u8arr], { type: mime });};
