JS正则表达式常见分享

//ipv4地址正则
var ipP = /^(?😦?: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]?)KaTeX parse error: Expected group after '^' at position 95: …ar cPattern = /^̲#?([a-fA-F0-9]{…/;
//输出 true
console.log(cPattern.test("#b8b8b8"));
4、日期正则
//日期正则,简单判定,未做月份及日期的判定
var dP1 = /^\d{4}(-)\d{1,2}\1\d{1,2} / ; / / 输 出 t r u e c o n s o l e . l o g ( d P 1. t e s t ( " 2017 − 05 − 11 " ) ) ; / / 输 出 t r u e c o n s o l e . l o g ( d P 1. t e s t ( " 2017 − 15 − 11 " ) ) ; / / 日 期 正 则 , 复 杂 判 定 v a r d P 2 = / ( ? : ( ? ! 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(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) /;//trueconsole.log(dP1.test("20170511"));//trueconsole.log(dP1.test("20171511"));//vardP2=/(?:(?!0000)[09]4(?:(?:0[19]1[02])(?:0[19]1[09]2[08])(?:0[139]1[02])(?:2930)(?:0[13578]1[02])31)(?:[09]2(?:0[48][2468][048][13579][26])(?:0[48][2468][048][13579][26])00)0229)/;
//输出 true
console.log(dP2.test(“2017-02-11”));
//输出 false
console.log(dP2.test(“2017-15-11”));
//输出 false
console.log(dP2.test(“2017-02-29”));
1、QQ号码正则
//QQ号正则,5至11位
var qqPattern = /1[0-9]{4,10} / ; / / 输 出 t r u e c o n s o l e . l o g ( q q P a t t e r n . t e s t ( " 65974040 " ) ) ; 2 、 微 信 号 正 则 / / 微 信 号 正 则 , 6 至 20 位 , 以 字 母 开 头 , 字 母 , 数 字 , 减 号 , 下 划 线 v a r w x P a t t e r n = / [ a − z A − Z ] ( [ − a − z A − Z 0 − 9 ] 5 , 19 ) + /; //输出 true console.log(qqPattern.test("65974040")); 2、微信号正则 //微信号正则,6至20位,以字母开头,字母,数字,减号,下划线 var wxPattern = /^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+ /;//trueconsole.log(qqPattern.test("65974040"));2//620线varwxPattern=/[azAZ]([azAZ09]5,19)+/;
//输出 true
console.log(wxPattern.test(“caibaojian_com”));
3、车牌号正则
//车牌号正则
var cPattern = /2{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}KaTeX parse error: Can't use function '\u' in math mode at position 89: … cnPattern = /[\̲u̲4E00-\u9FA5]/; …  //匹配非负整数(正整数 + 0)
2。3[1-9][0-9]KaTeX parse error: Undefined control sequence: \d at position 18: …//匹配正整数 3。^((-\̲d̲+)|(0+))  //匹配非正整数(负整数 + 0)
4。^-[0-9][1-9][0-9]KaTeX parse error: Undefined control sequence: \d at position 17: … //匹配负整数 5。^-?\̲d̲+    //匹配整数
6。^\d+(.\d+)?KaTeX parse error: Can't use function '\.' in math mode at position 35: …0) 7。^(([0-9]+\̲.̲[0-9]*[1-9][0-9…  //匹配正浮点数
8。^((-\d+(.\d+)?)|(0+(.0+)?))KaTeX parse error: Can't use function '\.' in math mode at position 36: …) 9^(-(([0-9]+\̲.̲[0-9]*[1-9][0-9…  //匹配负浮点数
10。^(-?\d+)(.\d+)?     / / 匹 配 浮 点 数 11 。 [ A − Z a − z ] +   //匹配浮点数 11。^[A-Za-z]+   //11[AZaz]+  //匹配由26个英文字母组成的字符串
12。4+     / / 匹 配 由 26 个 英 文 字 母 的 大 写 组 成 的 字 符 串 13 。 [ a − z ] +   //匹配由26个英文字母的大写组成的字符串 13。^[a-z]+   //2613[az]+  //匹配由26个英文字母的小写组成的字符串
14。5+KaTeX parse error: Undefined control sequence: \w at position 30: …文字母组成的字符串 15。^\̲w̲+  //匹配由数字、26个英文字母或者下划线组成的字符串
16。6+(.[\w-]+)@[\w-]+(.[\w-]+)+KaTeX parse error: Undefined control sequence: \w at position 37: …[a-zA-z]+://匹配(\̲w̲+(-\w+)*)(\.(\w…  //匹配url
18。匹配中文字符的正则表达式: [\u4e00-\u9fa5]
19。匹配双字节字符(包括汉字在内):[^\x00-\xff]
20。应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
String.prototype.len=function(){return this.replace([^\x00-\xff]/g,“aa”).length;}
21。匹配空行的正则表达式:\n[\s| ]
\r
22。匹配HTML标记的正则表达式:/<(.)>.</\1>|<(.) />/
23。匹配首尾空格的正则表达式:(^\s
)|(\s*$)


  1. 1-9 ↩︎

  2. 京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z ↩︎

  3. 0-9 ↩︎

  4. A-Z ↩︎

  5. A-Za-z0-9 ↩︎

  6. \w- ↩︎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值