js-工具方法(持续更新)
/* * @Author: lingxie * @Date: 2020-06-04 13:57:07 * @Descripttion: */ // 是否邮箱 export const isEmail = (s) => { let reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/; return reg.test(s); } // 是否手机号 export const isMobile = (s) => { let reg = /^1[3456789]\d{9}$/; return reg.test(s) } // 是否电话号码 export const isPhone = (s) => { let reg = /^([0-9]{3,4}-)?[0-9]{7,8}$/; return reg.test(s) } // 是否是urL地址 export const isURL = (s) => { let reg = /^http[s]?:\/\/.*/; return reg.test(s) } // 是否是微信浏览器 export const isWeiXin = () => { return ua.match(/microMessenger/i) == 'micromessenger' } //是否是移动端 export const isDeviceMobile = () => { return /android|webos|iphone|ipod|balckberry/i.test(ua) } // 是否是qq浏览器 export const isQQBrowser = () => { return !!ua.match(/mqqbrowser|qzone|qqbrowser|qbwebviewtype/i) } //是否是爬虫 export const isSpider = () => { return /adsbot|googlebot|bingbot|msnbot|yandexbot|baidubot|robot|careerbot|seznambot|bot|baiduspider|jikespider|symantecspider|scannerlwebcrawler|crawler|360spider|sosospider|sogou web sprider|sogou orion spider/.test(ua) } //是否是ios export const isIos = () => { var u = navigator.userAgent; if (u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) { //安卓手机 return false } else if (u.indexOf('iPhone') > -1) {//苹果手机 return true } else if (u.indexOf('iPad') > -1) {//iPad return false } else if (u.indexOf('Windows Phone') > -1) {//winphone手机 return false } else { return false } } // 是否为PC端 export const isPC = () => { var userAgentInfo = navigator.userAgent; var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"]; var flag = true; for (var v = 0; v < Agents.length; v++) { if (userAgentInfo.indexOf(Agents[v]) > 0) { flag = false; break; } } return flag; } // 获取url参数 export const getQueryString = (name) => { const reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'); const search = window.location.search.split('?')[1] || ''; const r = search.match(reg) || []; return r[2]; } // 动态引入js export const injectScript = (src) => { const s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = src; const t = document.getElementsByTagName('script')[0]; t.parentNode.insertBefore(s, t); } // 随机数范围 export const random = (min, max) => { if (arguments.length === 2) { return Math.floor(min + Math.random() * ((max + 1) - min)) } else { return null; } } // 最大值 export const max = (arr) => { return Math.max.apply(null, arr); // return Math.max(...arr); } // 最小值 export const min = (arr) => { return Math.min.apply(null, arr); // return Math.min(...arr); } // 求和 export const sum = (arr) => { var sum =0; for(var i=0;i<arguments.length;i++){ sum += arguments[i]; } return sum; } // 去除空格,type: 1-所有空格 2-前后空格 3-前空格 4-后空格 export const trim = (str, type) => { type = type || 1 switch (type) { case 1: return str.replace(/\s+/g, ""); case 2: return str.replace(/(^\s*)|(\s*$)/g, ""); case 3: return str.replace(/(^\s*)/g, ""); case 4: return str.replace(/(\s*$)/g, ""); default: return str; } } //检测密码强度 export const checkPwd = (str) => { var Lv = 0; if (str.length < 6) { return Lv } if (/[0-9]/.test(str)) { Lv++ } if (/[a-z]/.test(str)) { Lv++ } if (/[A-Z]/.test(str)) { Lv++ } if (/[\.|-|_]/.test(str)) { Lv++ } return Lv; } export const downWithUrl = (url) =>{ if(url == null || url.length == 0){ return; } window.open(url, "_blank").location; } // 数组排序,{type} 1:从小到大 2:从大到小 3:随机 export const sort = (arr, type = 1) => { return arr.sort((a, b) => { switch (type) { case 1: return a - b; case 2: return b - a; case 3: return Math.random() - 0.5; default: return arr; } }) } // 是否字符串 export const isString = (o) => { return Object.prototype.toString.call(o).slice(8, -1) === 'String' } //是否数字 export const isNumber = (o) => { return Object.prototype.toString.call(o).slice(8, -1) === 'Number' } // 是否boolean export const isBoolean = (o) => { return Object.prototype.toString.call(o).slice(8, -1) === 'Boolean' } // 是否函数 export const isFunction = (o) => { return Object.prototype.toString.call(o).slice(8, -1) === 'Function' } // 是否对象 export const isObject = (o) => { return Object.prototype.toString.call(o).slice(8, -1) === 'Object' } // 是否数组 export const isArray = (o) => { return Object.prototype.toString.call(o).slice(8, -1) === 'Array' }
一步一叩首,今天的自己比昨天好一点就行,明天的自己需追寻