美文网首页
常用正则方法

常用正则方法

作者: 闲人追风落水 | 来源:发表于2022-12-13 16:29 被阅读0次

可以使用正则的方法

常见的用法

// 1、 2-64位数字英文汉字下划线,只能以字母和汉字开头
let value = '_abcdef'
let nameStatus = new RegExp(/^(?!_)(?![0-9])[a-zA-Z0-9_\u4e00-\u9fa5]{2,64}$/)
let result = nameStatus.test(value)
console.log(result);

//2、验证手机号码
//移动:134(0 - 8) 、135、136、137、138、139、147、150、151、152、157、158、159、178、182、183、184、187、188、198 
//联通:130、131、132、145、155、156、175、176、185、186、166
//电信:133、153、173、177、180、181、189、199 
 var move = /^((134)|(135)|(136)|(137)|(138)|(139)|(147)|(150)|(151)|(152)|(157)|(158)|(159)|(178)|(182)|(183)|(184)|(187)|(188)|(198))\d{8}$/g;
 var link = /^((130)|(131)|(132)|(155)|(156)|(145)|(185)|(186)|(176)|(175)|(170)|(171)|(166))\d{8}$/g;
 var telecom = /^((133)|(153)|(173)|(177)|(180)|(181)|(189)|(199))\d{8}$/g;
 if (move.test(value)) {
      return true;
  } else if (link.test(value)) {
      return true;
  } else if (telecom.test(value)) {
      return true;
  } else {
      return false;
  }

//3、校验邮箱
 let mailStatus = new RegExp(/[\w]+(\.[\w]+)*@[\w]+(\.[\w])+/);
 let result = mailStatus.test(value)

//4、密码校验  8-18位的密码  必须含有字母 数字 和某些特殊字符
let passwordStatus = new RegExp(/^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[@#!$~\%\=\<\>\-\$\(\)\*\+\?\^\{\}\[\]\|])[\S]{8,18}$/)
let result = passwordStatus.test(value)


实际用法

必须含有某个字符

必须含有数字
(?=.*[0-9])
必须含有字母
(?=.*[a-zA-Z])



| 方法 | 描述 |
| --- | --- |
| [`exec`] | 一个在字符串中执行查找匹配的 RegExp 方法,它返回一个数组(未匹配到则返回 null)。 |
| [`test`]| 一个在字符串中测试是否匹配的 RegExp 方法,它返回 true 或 false。 |
| [`match`] | 一个在字符串中执行查找匹配的 String 方法,它返回一个数组,在未匹配到时会返回 null。 |
| [`matchAll`]。 |
| [`search`] | 一个在字符串中测试匹配的 String 方法,它返回匹配到的位置索引,或者在失败时返回 -1。 |
| [`replace`]| 一个在字符串中执行查找匹配的 String 方法,并且使用替换字符串替换掉匹配到的子字符串。 |
| [`split`] | 一个使用正则表达式或者一个固定字符串分隔一个字符串,并将分隔后的子字符串存储到数组中的 `String` 方法。 |

用法规则

1.以某个字符开头
 let reg = new RegExp(/^a/)
 let string = 'abcdefg'
 console.log(reg.test(string));

2. 匹配A或者B 
 x|y
 let reg = new RegExp(/^a|b)
 let string = 'bcdefg'
 console.log(reg.test(string));

3. 匹配某个范围的字符
[a-z]  

4. 整体匹配某一串字符串
[(?:x)] 
匹配x但是不记住x ,非捕获括号  
可以把括号中的所有字符看做整体,进行匹配

5. 匹配某个字符当他后面或者前面是某种字符--先行断言 后行断言
[x(?=y)]    
匹配'x'仅仅当'x'后面跟着'y'.这种叫做先行断言。
[(?<=y)]
匹配'x'仅当'x'前面是'y'.这种叫做后行断言。

6. 匹配某个字符他的前面或者后面不是某种字符 ---否定查找
[x(?!y)]
仅仅当'x'后面不跟着'y'时匹配'x',这被称为正向否定查找。
[(?<!y)x]
仅仅当'x'前面不是'y'时匹配'x',这被称为反向否定查找。



字符簇

[a-z] // 匹配所有的小写字母 
[A-Z] // 匹配所有的大写字母 
[a-zA-Z] // 匹配所有的字母 
[0-9] // 匹配所有的数字 
[0-9\.\-] // 匹配所有的数字,句号和减号 dddddd
[ \f\r\t\n] // 匹配所有的白字符
[\u4e00-\u9fa5]//匹配汉汉字

注意: 字符簇只匹配某个范围内的一个字符 如果要匹配读个此类型的字符需要配合其他的表达式

相关文章

  • 正则基本尝试

    正则创建: 方式一:字面量创建(常用) 方式二:构造函数创建 正则匹配方法: 一、正则方法1.test 2.exe...

  • 正则常用方法

    常用方法 exec() 方法在一个指定字符串中执行一个搜索匹配。返回一个结果数组或 null。 test() 在字...

  • 常用正则方法

    正则的创建方式 正则字符的类型 正则表达式由两种基本字符类组成原义文本字符元字符(元字符是在正则表达式中有特殊含义...

  • 常用正则方法

    可以使用正则的方法 常见的用法 实际用法 用法规则 字符簇

  • 正则表达式汇总

    1.正则表达式一般命名为regex 2.JS正则表达式常用的方法 方法举例 3.常用限定符号 4.常用元字符 5....

  • 正则

    正则表达式全部符号解释(转) 常用正则表达式大全 (转) 不错的正则博客 正则的方法 var reg = /[1-...

  • Python中的正则表达式

    常用方法 通过 pandas 的 str.extract 方法 使用常规表达 正则表达式 一个神奇的网站,正则表达...

  • js工具方法

    1 数字转中文 常用正则校验和部分工具方法

  • 字符串正则匹配

    APP中经常需要做正则匹配,如下是一个正则匹配的方法类封装 1. 基本方法 2. 常用正则表达式 3. 字符串方法扩展

  • 正则表达式

    什么是正则表达式?如何创建正则表达式正则表达式常用的方法字符串中的正则表达式常用的正则表达式假设用户需要在HTML...

网友评论

      本文标题:常用正则方法

      本文链接:https://www.haomeiwen.com/subject/dmrfqdtx.html