/*
* @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'
}

最新文章

  1. Entity Framework 6 Recipes 2nd Edition(13-6)译 -&gt; 自动编译的LINQ查询
  2. SharePoint 2010中一些必须知道的限制
  3. 创建用户故事地图(User Story Mapping)的8个步骤
  4. SQLServer 语句-创建索引【转】
  5. PAT-乙级-1039. 到底买不买(20)
  6. 202. Happy Number
  7. Django环境搭建和项目创建
  8. SPRING IN ACTION 第4版笔记-第八章Advanced Spring MVC-003-Pizza例子的基本流程
  9. SQL SERVER 2008远程数据库移植到本地的方法
  10. 再次精读《javascript高级程序设计第3版》学习笔记(1)
  11. 编程实现类似Linux系统的cp功能
  12. Power BI 与 Azure Analysis Services 的数据关联:3、还原备份文件到Azure Analysis Services
  13. [转]使用CMS垃圾收集器产生的问题和解决方案
  14. C语言复习:内存模型2
  15. 导出文件在IE和火狐中文件名乱码问题的解决
  16. (转)[Unity3D]BuildPipeline.PushAssetDependencies 打包依赖包,优化UI Prefab的资源引用加载(坑爹之处)
  17. xdebug安装及使用小结
  18. Spark Streaming使用Kafka保证数据零丢失
  19. Maven-pom-configuration
  20. vue相关理论知识

热门文章

  1. day05-功能实现04
  2. jmeter json提取器提取某个属性的所有值
  3. 学习.NET MAUI Blazor(一)、Blazor是个啥?
  4. 基于jQuery的三种AJAX请求
  5. 【运维笔录】局域网实现项目的CI/CD,Docker+Gitea+Drone搭建轻量级自动化部署平台
  6. MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(2)-Swagger框架集成
  7. (数据科学学习手札148)geopandas直接支持gdb文件写出与追加
  8. [LeetCode]最大连续1的个数
  9. P8622 [蓝桥杯 2014 国 B] 生物芯片
  10. P7914 [CSP-S 2021] 括号序列