自学JavaScript高级第三天

109 阅读2分钟

自学JavaScript高级第三天

1.正则表达式

1.正则表达式的创建

// 正则表达式在js中的 使用
// 1.利用RegExp对象来创建正则表达式
      
var regexp = new RegExp(/123/);
console.log(regexp);

// 2.利用字面量创建正则表达式
var rg = /123/;

 // 3. test方法用来检测字符串是否符合正则表达式要求的规范
console.log(fg.test(123));
console.log(rg.test("abc"));

正则表达式的官网

developer.mozilla.org/zh-CN/docs/…

2.边界符

^ $

^ 表示文本开头 例如 /^abc/ 以abc开头

表示文本结束例如/abc表示文本结束 例如 /abc/以abc结尾

/^abc$/ 精确匹配 必须是abc才能正确

3.字符类

字符类:[ ]表示有一系列字符可提供选择 只要匹配其中一个就可以了

/[abc]/ 只要包含abc其中一个就是true

/^[abc]$/ 三选一

/^[a-z]$/ 26字母任何一个字母都是true

字符组合

/^[a-zA-Z0-9_-]$/

表示 a-z A-Z 0-9 _ - 这些之中选取一个 都可以

如果在【】里面添加^就是取反的意思(不包括)

/^[ ^a-zA-Z0-9_-]$/

表示不能有 a-z A-Z 0-9 _ -

4.量字符

** 重复零次或者一个 /[a* *]/

+重复一次或者多次 /[a+]/

?重复零次或一次 /[a?]/

{n} 重复n次 /[a{3}]/ 等于三个a 才是true

{n,} 重复n次或者更多 /[a{3,}]/ 等于或者大于三个a 才是true

{n,m} 重复n到m次 /[a{3,6}]/ 等于大于三个a 小于等于6个内 才是true

5.量词与字符与边界结合

/^[ ^a-zA-Z0-9_-]{5,10}$/

6.正则表达式中的特殊字符

预定义类指的是某些常见模式的简写方式。
预定类			说明
\d      匹配0-9之间的任一数字, 相当于[0-9]
\D 	匹配所有0-9以外的字符,相当于[^0-9]

\w	匹配任意的字母、数字和下划线,相当于[A-Za-z0-9_ ]
\W	除所有字母、数字和下划线以外的字符,相当于[^A-Za-z0-9_ ]

\s	匹配空格(包括换行符、制表符、空格符等),相等于[ \t\r\n\v\f]
\S	匹配非空格的字符,相当于[^ \tr\n\v\f]

7.替换敏感词

replace( /大哥/g , '**')

g 全局查找

i 忽略大小写

gi 全局且忽略大小写