首页 > 其他分享 >js 常用的正则判断方法

js 常用的正则判断方法

时间:2023-10-08 15:59:57浏览次数:32  
标签:常用 return string js 正则 export test const reg

/** 判断是否为数组 */ export const isArray = (arg: unknown) => {   return Array.isArray ? Array.isArray(arg) : Object.prototype.toString.call(arg) === "[object Array]" }
/** 判断是否为字符串 */ export const isString = (str: unknown) => {   return typeof str === "string" || str instanceof String }
/** 判断是否为外链 */ export const isExternal = (path: string) => {   const reg = /^(https?:|mailto:|tel:)/   return reg.test(path) }
/** 判断是否为网址(带协议) */ export const isUrl = (url: string) => {   const reg = /^(((ht|f)tps?):\/\/)?([^!@#$%^&*?.\s-]([^!@#$%^&*?.\s]{0,63}[^!@#$%^&*?.\s])?\.)+[a-z]{2,6}\/?/   return reg.test(url) }
/** 判断是否为网址或 IP(带端口) */ export const isUrlPort = (url: string) => {   const reg = /^((ht|f)tps?:\/\/)?[\w-]+(\.[\w-]+)+:\d{1,5}\/?$/   return reg.test(url) }
/** 判断是否为域名(不带协议) */ export const isDomain = (domain: string) => {   const reg = /^([0-9a-zA-Z-]{1,}\.)+([a-zA-Z]{2,})$/   return reg.test(domain) }
/** 判断版本号格式是否为 X.Y.Z */ export const isVersion = (version: string) => {   const reg = /^\d+(?:\.\d+){2}$/   return reg.test(version) }
/** 判断时间格式是否为 24 小时制(HH:mm:ss) */ export const is24H = (time: string) => {   const reg = /^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$/   return reg.test(time) }
/** 判断是否为手机号(1 开头) */ export const isPhoneNumber = (str: string) => {   const reg = /^(?:(?:\+|00)86)?1\d{10}$/   return reg.test(str) }
/** 判断是否为第二代身份证(18 位) */ export const isChineseIdCard = (str: string) => {   const reg = /^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\d|30|31)\d{3}[\dXx]$/   return reg.test(str) }
/** 判断是否为 Email(支持中文邮箱) */ export const isEmail = (email: string) => {   const reg = /^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/   return reg.test(email) }
/** 判断是否为 MAC 地址 */ export const isMAC = (mac: string) => {   const reg =     /^(([a-f0-9][0,2,4,6,8,a,c,e]:([a-f0-9]{2}:){4})|([a-f0-9][0,2,4,6,8,a,c,e]-([a-f0-9]{2}-){4}))[a-f0-9]{2}$/i   return reg.test(mac) }
/** 判断是否为 IPv4 地址 */ export const isIPv4 = (ip: string) => {   const reg =     /^((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])(?::(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?$/   return reg.test(ip) }
/** 判断是否为车牌(兼容新能源车牌) */ export const isLicensePlate = (str: string) => {   const reg =     /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$/   return reg.test(str) }

标签:常用,return,string,js,正则,export,test,const,reg
From: https://www.cnblogs.com/coodeshark/p/17749261.html

相关文章

  • js+php分片上传大文件
    1.理解部分 服务端为什么不能直接传大文件?跟php.ini里面的几个配置有关upload_max_filesize=2M//PHP最大能接受的文件大小post_max_size=8M//PHP能收到的最大POST值'memory_limit=128M//内存上限max_execution_time=30//最大执行时间当然不能简单粗暴的把上面......
  • 使用RequireJS并实现一个自己的模块加载器 (一)
    使用RequireJS并实现一个自己的模块加载器(一) RequireJS&SeaJS在 模块化开发 开发以前,都是直接在页面上引入 script 标签来引用脚本的,当项目变得比较复杂,就会带来很多问题。JS项目中的依赖只有通过引入JS的顺序来确定,项目会变得复杂难以维护。复杂的脚本会暴露很......
  • 正则表达式应用场景
    数据验证数据验证应该是正则表达式最常见的场景了,经常用于用户的输入是否符合所需的条件。数据验证可确保输入或导入的数据准确、一致,并符合预定义的规则。验证手机号:constphoneNumber="13712345678";constregex=/^1[3-9]\d{9}$/;console.log("手机号格式正确:",regex.......
  • js 时间戳 随机数 new Date().getTime()
    一:时间转时间戳:javascript获得时间戳的方法有四种,都是通过实例化时间对象 newDate()来进一步获取当前的时间戳1.vartimestamp1=Date.parse(newDate());//结果:1477808630000不推荐这种办法,毫秒级别的数值被转化为000 console.log(timestamp1);2.vartimestamp2=(n......
  • JS中数据的存储方式和位置
    1.js数据类型①原始数据类型:Undefined,Null,Boolean,Number,String ②引用数据类型:对象,数组,函数2.数据存储的位置①原始数据类型:     栈内存  原始数据类型直接存储在栈(stack)中的简单数据段,占据空间小、大小比较稳定,属于被频繁使用数据,所以放入栈中存储;②引......
  • 非select 下拉框选定ul-li下拉选项, 元素是隐藏的需要用js修改为其属性为可见后,再做元
    遇到问题html中定位的下拉框内容是属性是隐藏的<ulid="reasonselect"style="display:none"fwin="mods"><li>广告/SPAM</li><li>恶意灌水</li><li>违规内容</li><li>文不对题</li><li>重复发帖</li>&......
  • js实现文件分片上传
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>JS分片上传-极速上传</title></head><body><inputtype="file"name="slice"id="slice&......
  • 【webapp】 JSP 的常见语法元素
    1.注释: JSP支持三种类型的注释:HTML注释、JSP注释和Java注释。HTML注释:使用 <!--注释内容--> 来添加HTML注释。JSP注释:使用 <%--注释内容--%> 来添加JSP注释。Java注释:使用 // 或 /**/ 来添加Java注释。2.声明: 使用 <%!声明代码%> 来定义......
  • JS 全屏和退出全屏--requestFullScreen详解及兼容代码
    浏览器全屏实现方式1.利用h5的 requestFullScreen2.摁F11实现全屏效果requestFullscreen全屏具体实现1.进入全屏   functionfull(ele){ if(ele.requestFullscreen){ ele.requestFullscreen(); }elseif(ele.mozRequestFullScr......
  • 【webapp】JSP工作原理和过程
    JSP编译:当客户端请求访问一个JSP页面时,Web服务器首先检查是否已经编译过该JSP页面。如果没有编译过或者源文件已更改,服务器会将JSP文件编译成一个Servlet源文件。Servlet编译:编译后的Servlet源文件进一步被编译成Java字节码文件,这个过程由服务器的JSP引擎完......