摘要:密码强度正则,最少位,包括至少个大写字母,个小写字母,个数字,个特殊字符输出校验中文但是但是但是包含中文正则但是由数字个英文字母或下划线组成的字符串身份证号正则身份证号位正则输出校验日期格式的日期校验,已考虑平闰年。
替换
通过一些例子来学习正则表达式摘录,js正则函数match、exec、test、search、replace、split
去除首尾的//去除首尾的‘/’ input = input.replace(/^/*|/*$/g,"");javascript:; 、javascript:void(0)
"javascript:;".match(/^(javascripts*:|#)/); //["javascript:", "javascript:", index: 0, input: "javascript:;"]匹配
var str = "access_token=dcb90862-29fb-4b03-93ff-5f0a8f546250; refresh_token=702f4815-a0ff-456c-82ce-24e4d7d619e6; account_uid=1361177947320160506170322436"; str.match(/account_uid=([^=]+(;)|(.*))/ig);匹配一些字符
var str = "asdf html-webpack-plugin for "index/index.html" asdfasdf"; str.match(/html-webpack-plugin for "(.*)"/ig); console.log(RegExp.$1) //=>index/index.html关键字符替换
"css/[hash:8].index-index.css".replace(/[(?:(w+):)?(contenthash|hash)(?::([a-z]+d*))?(?::(d+))?]/ig,"(.*)"); //=> css/(.*).index-index.css替换参数中的值
var str = ""; str.replace(/]*manifest="([^"]*)"[^>]*>/,function(word){ return word.replace(/manifest="([^"]*)"/,"manifest=""+url+"""); }).replace(/]*>)/,function(word){ if(word.indexOf("manifest")) return word; return word.replace(" //替换成=>匹配括号内容
"max_length(12)".match(/^(.+?)((.+))$/) // ["max_length(12)", "max_length", "12", index: 0, input: "max_length(12)"]调换
var name = "Doe, John"; name.replace(/(w+)s*, s*(w+)/, "$2 $1"); //=> "John Doe"字符串截取
var str = "asfdf === sdfaf ##" str.match(/[^===]+(?=[===])/g) // 截取 ===之前的内容 str.replace(/ /g,"") // 替换字符串中的 换行字符验证 小数点后几位验证
// 精确到1位小数 /^[1-9][0-9]*$|^[1-9][0-9]*.[0-9]$|^0.[0-9]$/.test(1.2); // 精确到2位小数 /^[0-9]+(.[0-9]{2})?$/.test(1.221);密码强度正则
// 必须是包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间。 /^(?=.*d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$/.test("weeeeeeeW2"); //密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符 /^.*(?=.{6,})(?=.*d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/.test("diaoD123#"); //输出 true校验中文
/^[u4e00-u9fa5]{0,}$/.test("但是d"); //false /^[u4e00-u9fa5]{0,}$/.test("但是"); //true /^[u4e00-u9fa5]{0,}$/.test("但是"); //true包含中文正则
/[u4E00-u9FA5]/.test("但是d") //true由数字、26个英文字母或下划线组成的字符串
/^w+$/.test("ds2_@#"); // false身份证号正则
//身份证号(18位)正则 /^[1-9]d{5}(18|19|([23]d))d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)d{3}[0-9Xx]$/.test("42112319870115371X"); //输出 false校验日期
“yyyy-mm-dd“ 格式的日期校验,已考虑平闰年。
//日期正则,简单判定,未做月份及日期的判定 var dP1 = /^d{4}(-)d{1,2}1d{1,2}$/; //输出 true console.log(dP1.test("2017-05-11")); //输出 true console.log(dP1.test("2017-15-11")); //日期正则,复杂判定 var dP2 = /^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/; //输出 true console.log(dP2.test("2017-02-11")); //输出 false console.log(dP2.test("2017-15-11")); //输出 false console.log(dP2.test("2017-02-29")); // true校验文件后缀
var strRegex = "(.jpg|.gif|.txt)"; var re=new RegExp(strRegex); if (re.test(str)){ } /(.jpg|.gif)+(?|#|$)/.test("a/b/c.jpgsss"); //=> false /(.jpg|.gif)+(?|#|$)/.test("a/b/c.jpg?"); //=> true用户名正则
//用户名正则,4到16位(字母,数字,下划线,减号) /^[a-zA-Z0-9_-]{4,16}$/.test("diaodiao"); //输出 true整数正则
/^d+$/.test("42"); //正整数正则 -> 输出 true /^-d+$/.test("-42"); //负整数正则 -> 输出 true /^-?d+$/.test("-42"); //整数正则 -> 输出 true /^[0-9]+$/.test(25.5455) //正整数正则 -> 输出 false // 浮点数 /^(?:[-+])?(?:[0-9]+)?(?:.[0-9]*)?(?:[eE][+-]?(?:[0-9]+))?$/.test(0.2)数字正则
可以是整数也可以是浮点数
/^d*.?d+$/.test("42.2"); //正数正则 -> 输出 true /^-d*.?d+$/.test("-42.2"); //负数正则 -> 输出 true /^-?d*.?d+$/.test("-42.2"); //数字正则 -> 输出 trueEmail正则
//Email正则 /^([A-Za-z0-9_-.])+@([A-Za-z0-9_-.])+.([A-Za-z]{2,4})$/.test("wowohoo@qq.com"); //输出 true // 1.邮箱以a-z、A-Z、0-9开头,最小长度为1. // 2.如果左侧部分包含-、_、.则这些特殊符号的前面必须包一位数字或字母。 // 3.@符号是必填项 // 4.右则部分可分为两部分,第一部分为邮件提供商域名地址,第二部分为域名后缀,现已知的最短为2位。 // 最长的为6为。 // 5.邮件提供商域可以包含特殊字符-、_、. /^[a-z0-9]+([._-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/.test("wowohoo@qq.com");传真号码
// 国家代码(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(3位) /^(([0+]d{2,3}-)?(0d{2,3})-)(d{7,8})(-(d{3,}))?$/.test("021-5055455")手机号码正则
//手机号正则 /^1[34578]d{9}$/.test("13611778887"); //输出 true //* 13段:130、131、132、133、134、135、136、137、138、139 //* 14段:145、147 //* 15段:150、151、152、153、155、156、157、158、159 //* 17段:170、176、177、178 //* 18段:180、181、182、183、184、185、186、187、188、189 //* 国际码 如:中国(+86) /^((+?[0-9]{1,4})|((+86)))?(13[0-9]|14[57]|15[012356789]|17[03678]|18[0-9])d{8}$/.test("13611778887");URL正则
//URL正则 /^((https?|ftp|file)://)?([da-z.-]+).([a-z.]{2,6})([/w .-]*)*/?$/.test("http://wangchujiang.com"); //输出 true //获取url中域名、协议正则 "http://xxx.xx/xxx","https://xxx.xx/xxx","//xxx.xx/xxx" /^(http(?:|s):)*//([^/]+)/.test("http://www.baidu.com"); /^((http|https)://(w+:{0,1}w*@)?(S+)|)(:[0-9]+)?(/|/([w#!:.?+=&%@!-/]))?$/.test("https://www.baidu.com/s?wd=@#%$^&%$#") // 必须有协议 /^[a-zA-Z]+:///.test("http://www.baidu.com");IPv4地址正则
//ipv4地址正则 /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test("192.168.130.199"); //输出 true十六进制颜色正则
//RGB Hex颜色正则 /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/.test("#b8b8b8"); //输出 trueQQ号码正则
//QQ号正则,5至11位 /^[1-9][0-9]{4,10}$/.test("398188661");//输出 true微信号正则
//微信号正则,6至20位,以字母开头,字母,数字,减号,下划线 /^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/.test("jslite"); //输出 true车牌号正则
//车牌号正则 /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/.test("沪B99116") //输出 true颜色值校验
// HEX 颜色正则 /^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test("#ccb2b2")
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/87399.html
摘要:前言在我们做用户授权登录微信授权,以及根据对应浏览器做对应的操作的时候,经常会遇到需要判断用户使用的浏览器的需求,以及在需要用户输入信息的时候,有需要验证的一些正则。 前言 在我们做用户授权登录(微信,qq授权),以及根据对应浏览器做对应的操作的时候,经常会遇到需要判断用户使用的浏览器的需求,以及在需要用户输入信息的时候,有需要验证的一些正则。如果喜欢的话可以点波赞/关注,支持一下,希...
摘要:对前端来说,使用的场景不多,但是像微信端的对话系统的表情包,就使用到了一个特定的规则。我是一个前端,工作年了,现在失业,想进入腾讯工作,这是我的联系方式这个正则虽 我发现有个别字符被这个编辑器给刷掉了,但是灰色区域显示正常,以灰色区域代码为准 什么玩意? 在我刚开始学习编程的时候,就听过正则了,也听说正则很牛逼,懂正则的更牛逼。但是苦于没有人指点,也没有使用正则的场景,自己看教程又懵逼...
阅读 1864·2021-11-19 09:40
阅读 2576·2021-08-30 09:46
阅读 2163·2021-08-03 14:01
阅读 2622·2019-08-30 10:54
阅读 1183·2019-08-29 16:38
阅读 1425·2019-08-29 11:02
阅读 2520·2019-08-28 18:16
阅读 1653·2019-08-28 18:09