正则判断类型集合

export const checkStr = (str, type) => {switch (type) {case 'phone':   //手机号码return /^1[3|4|5|6|7|8|9][0-9]{9}$/.test(str);case 'tel':     //座机return /^(0\d{2,3}-\d{7,8})(-\d{1,4})?$/.test(str);case 'card':    //身份证return /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(str);case 'pwd':     //密码以字母开头,长度在6~18之间,只能包含字母、数字和下划线return /^[a-zA-Z]\w{5,17}$/.test(str)case 'postal':  //邮政编码return /[1-9]\d{5}(?!\d)/.test(str);case 'QQ':      //QQ号return /^[1-9][0-9]{4,9}$/.test(str);case 'email':   //邮箱return /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/.test(str);case 'money':   //金额(小数点2位)return /^\d*(?:\.\d{0,2})?$/.test(str);case 'URL':     //网址return /(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?/.test(str)case 'IP':      //IPreturn /((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))/.test(str);case 'date':    //日期时间return /^(\d{4})\-(\d{2})\-(\d{2}) (\d{2})(?:\:\d{2}|:(\d{2}):(\d{2}))$/.test(str) || /^(\d{4})\-(\d{2})\-(\d{2})$/.test(str)case 'number':  //数字return /^[0-9]$/.test(str);case 'english': //英文return /^[a-zA-Z]+$/.test(str);case 'chinese': //中文return /^[\\u4E00-\\u9FA5]+$/.test(str);case 'lower':   //小写return /^[a-z]+$/.test(str);case 'upper':   //大写return /^[A-Z]+$/.test(str);case 'HTML':    //HTML标记return /<("[^"]*"|'[^']*'|[^'">])*>/.test(str);default:return true;}
}

严格的身份证校验

export const isCardID = (sId) => {if (!/(^\d{15}$)|(^\d{17}(\d|X|x)$)/.test(sId)) {console.log('你输入的身份证长度或格式错误')return false}//身份证城市var aCity = { 11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古", 21: "辽宁", 22: "吉林", 23: "黑龙江", 31: "上海", 32: "江苏", 33: "浙江", 34: "安徽", 35: "福建", 36: "江西", 37: "山东", 41: "河南", 42: "湖北", 43: "湖南", 44: "广东", 45: "广西", 46: "海南", 50: "重庆", 51: "四川", 52: "贵州", 53: "云南", 54: "西藏", 61: "陕西", 62: "甘肃", 63: "青海", 64: "宁夏", 65: "新疆", 71: "台湾", 81: "香港", 82: "澳门", 91: "国外" };if (!aCity[parseInt(sId.substr(0, 2))]) {console.log('你的身份证地区非法')return false}// 出生日期验证var sBirthday = (sId.substr(6, 4) + "-" + Number(sId.substr(10, 2)) + "-" + Number(sId.substr(12, 2))).replace(/-/g, "/"),d = new Date(sBirthday)if (sBirthday != (d.getFullYear() + "/" + (d.getMonth() + 1) + "/" + d.getDate())) {console.log('身份证上的出生日期非法')return false}// 身份证号码校验var sum = 0,weights = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2],codes = "10X98765432"for (var i = 0; i < sId.length - 1; i++) {sum += sId[i] * weights[i];}var last = codes[sum % 11]; //计算出来的最后一位身份证号码if (sId[sId.length - 1] != last) {console.log('你输入的身份证号非法')return false}return true
}

随机数范围

export const random = (min, max) => {if (arguments.length === 2) {return Math.floor(min + Math.random() * ((max + 1) - min))} else {return null;}
}

判断一个元素是否在数组中

export const contains = (arr, val) => {return arr.indexOf(val) != -1 ? true : false;
}

数组排序,{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 unique = (arr) => {if (Array.hasOwnProperty('from')) {return Array.from(new Set(arr));} else {var n = {}, r = [];for (var i = 0; i < arr.length; i++) {if (!n[arr[i]]) {n[arr[i]] = true;r.push(arr[i]);}}return r;}
}

求两个集合的并集

export const union = (a, b) => {var newArr = a.concat(b);return this.unique(newArr);
}

删除其中一个元素

export const remove = (arr, ele) => {var index = arr.indexOf(ele);if (index > -1) {arr.splice(index, 1);}return arr;
}

html中常用判断和工具(二)相关推荐

  1. 社群运营中常用的辅助工具,口碑推荐这几款!

    职场生活很残酷,大鱼吃小鱼,小鱼吃虾米,虾米卷铺盖走人,没有扎实的实力往往很容易被淘汰,所以作为每一个职场同学,要提高工作效率就得借助一些辅助工具,让复杂的事情简单化,简单的事情更加便捷化. 那么社群 ...

  2. Python中常用的数据分析工具(模块)有哪些?

    本期Python培训分享:Python中常用的数据分析工具(模块)有哪些?Python本身的数据分析功能并不强,需要安装一些第三方的扩展库来增强它的能力.我们课程用到的库包括NumPy.Pandas. ...

  3. mysql中常用的时间工具

    本文记录下mysql中常用的时间工具 文章目录 概述 概述 sql文件 #查询现在的时间 SELECT now() now#格式化时间为时分秒 SELECT DATE_FORMAT(now(), '% ...

  4. java中常用的加密工具

    java中常用的加密工具 1. md5加密工具类 public class MD5Utils {private static final String hexDigIts[] = {"0&q ...

  5. 自然语言处理(NLP)任务中常用的分词工具及底层算法支持

    刚刚和一个在三快在线(美团)的算法老同学聊天,聊到了他们现有分词工具效果不好的问题,我们最终讨论的结果就是没有效果好或者效果不好之后,只有适合不适合,归根结底还是要看各个分词工具中模型的基础训练数据成 ...

  6. java中常用的日期工具类

    java中常用的日期工具类 日期相关的类: package net.yto.ofclacct.core.util;import java.text.ParseException; import jav ...

  7. UI设计中常用的抠图工具特点对比|优漫动游

    UI设计师必学哪些技能?抠图是一个设计师必不可少的技能,不同抠图工具怎么使用?比较常见的抠图方法有钢笔.魔棒.快速选取.通道等.不同的图需要不同的方法进行抠图,每种抠图方法也各有其优点和不足,接下来优 ...

  8. java常用工具类_java(二):工作中常用到的工具类

    工作中大家要用到很多工具类,第三方的jar中有很多现成的工具类符合自己的项目需要,这个时候就不需要去重复造轮子了,从而节省了很多时间,大家可以利用这些时间去做其它重要的事情,如果没有符合自己的工具类, ...

  9. 列举一些站长工具中常用的SEO工具和百度指数

    站长工具主要是针对已经做好并上线的网站进行网站质量方面的查询,并提出一些相关的改进方法.网络上的站长工具有很多,而默认的站长工具主要来至站长之家.下面列举一些站长工具中常用的工具. 百度权重:这是所有 ...

最新文章

  1. Ant Design 入门-参照官方文档使用组件
  2. 揭秘深度强化学习的研究哲学:乐观主义与悲观主义
  3. c# 另存为excel
  4. OpenGL画图设备上下文与MFC设备上下文的对应
  5. 如何写一个bootloader
  6. JAXB和XStream比较
  7. 求职简历介绍html5模板
  8. PostgreSQL学习的九层宝塔
  9. 用包管理python代码,提高开发效率
  10. wince 开发_正运动技术运动控制卡应用开发教程之Python
  11. c++中向任意目录下写文件
  12. 补单平台哪个靠谱 天猫补单哪个安全
  13. 2022年深圳杯建模A题思路: 破除“尖叫效应”与“回声室效应”,走出“信息茧房”
  14. ps批量修改名片文字_pS如何在图中添加和修改文字
  15. 首发:最新CPU漏洞Meltdown详细分析
  16. Linux—添加开机启动
  17. 软件架构设计---软件架构视图
  18. Python视觉深度学习系列教程 第三卷 第9章 Kaggle竞赛:情绪识别
  19. 【Pygame小游戏】扫雷游戏50多岁了,但这款我能玩一年~(三个版本集合)
  20. java实现PDF转图片(每页转换成一张图片,可单页转换或指定页数)

热门文章

  1. 01.Win10修改用户名及user文件名称的一波三折
  2. Kinect坐标转换
  3. MySQL错误:Value ‘0000-00-00 00:00:00‘ can not be represented as java.sql.Timestamp
  4. 搜索凑单页大促显示延迟方案设计
  5. 认识计算机微课导学单,微课“任务单”与“导学案”之比较
  6. VUE通过自定义指令,只允许输入大写英文以及数字
  7. memcmp函数和memset函数的使用
  8. 什么叫工业4.0,这篇接地气的文章终于讲懂了(ZT)
  9. 无线鼠标 桌面服务器,你可能不知道 桌面总是乱糟糟的很可能是因为你没买对鼠标...
  10. 百度地图申请KEY,定位和获取周边热点