1.预定义字符集

代码 说明
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束

2.备选字符集

规定某一位字符的备选字符列表
特点:必须且只能多选一

[0-9]//一个数字
[a-z]//一个小写字母
[A-Z]//一个大写字母
[0-9a-zA-Z]//一个数字或字母

  1. 上天,上海
  2. 上[天海]
  1. 将字符串中的上海,上天两个字符换成**
  2. var str ="上海,上天,上哪儿去";
  3. var reg =/上[海天]/g;
  4. console.log(str.replace(reg,"*"))
  5. //输出*,*,上哪儿去
  1. 将字符串中的数字换成**
  2. var str = "jhfdslfs8289283921";
  3. /* [0-9] */
  4. var reg = /[0-9]/g;
  5. console.log(str.replace(reg,"*"))

3.量词:定字符集出现的次数

3.1 确定数量

  1. {m,n} -->至少m个,最多n
  2. {m,} -->m个以上
  3. {m} -->必须m

3.2 不确定数量

  1. ? -->一个或0
  2. + -->1个以上
  3. * -->多个或没有

4.test()方法

test() 方法用于检测正则表达式是否匹配字符串的一部分,返回boolean值
语法reg.test(str); 返回boolean值

  1. var pwd = "12115fdsfsd"; //
  2. var reg = /[0-9]{5,7}/; 密码5-7num
  3. console.log(reg.test(pwd)); //true

5.贪婪模式和懒惰模式

5.1贪婪模式

给量词的情况下 默认取最大值 默认是贪婪的

  1. var str = "2323232hello";
  2. var reg = /\d{3,6}/;
  3. console.log(str.replace(reg,"*"))
  4. 输出*2hello

5.2懒惰模式

在量词后用?表示懒惰,取最小值

  1. var str = "2323hello";
  2. var reg = /\d{3,6}?/;
  3. console.log(str.replace(reg,"*"))
  4. 输出 *3hello

6.匹配位置

6.1匹配

  • ^ 以什么开头
  • $ 以什么结尾
  • /^\s+|\s+$/g 以空格开头和以空格结尾 相当于trim()

何时使用:仅匹配开头的规则和结尾的规则时使用

6.2.严格匹配

/^ $/严格匹配/ 为严格匹配
tips:只要验证时,必须前加^,后加$!

  1. var str="12344738392"
  2. var reg=/^\d{11}$/
  3. console.log(reg.test(str)) //true 必须以数字开头和数字结尾并且只有11位