正则表达式

正则表达式
- 用于匹配字符串中字符组合的模式
使用场景:
验证表单,过滤敏感词,提取关键字等
语法
定义规则,再去匹配
1 | const str ='学习前端' |
元字符
普通字符:
大多数的字符仅能够描述它们本身,这些字符称作普通字符,
例如所有的字母和数字。
元字符(特殊字符):
是一些具有特殊含义的字符,可以极大提高了灵活性和强大的匹配功能。
边界符
表示位置,开头和结尾, 必须用什么开头,必须用什么结尾
1 | console.log(/^哈/.test('哈哈')) //true,必须以哈开头 |
量词
表示重复次数
量词 | 说明 |
---|---|
* | 重复零次或者更多次 |
+ | 重复一次或者更多次 |
? | 重复零次或者一次 |
{n} | 重复n次 |
{n,} | 重复n次或者更多次 |
{n,m} | 重复n到m次 |
字符类
[] 匹配字符集合
只要包含 ‘abc’ 中任意一个字符, 都返回true
1 | console.log(/^[abc]$/.test('a')) //true |
[a-z] 表示a到z 26个英语字母都可以
[a-zA-Z] 表示大小写都可以
[] 里面加 ^ ,表达式取反
1 | console.log(/^[^abc]$/.test('c')) // false |
. 匹配除换行符之外的任何单个字符
预定义 | 说明 |
---|---|
\d | 匹配0-9之间的任一数字,相当于[0-9] |
\D | 匹配所有O-9以外的字符,相当于[^0-9] |
\w | 匹配任意的字母、数字和下划线,相当于[A-Za-z0-9_] |
\W | 除所有字母、数字和下划线以外的字符,相当于[^A-Za-z0-9_] |
\s | 匹配空格(包括换行符、制表符、空格符等),相等于[ \t\r\n\v\f] |
\S | 匹配非空格的字符,相当于[^Itlrinlvlf] |
修饰符
修饰符约束正则执行的某些细节行为,如是否区别大小写,是否支持多行匹配等
i 是单词ignore的缩写,正则匹配时字母不区分大小写
g 是单词global的缩写,匹配所有满足正则表达式的结果
1 | console.log(/表达式/修饰符) |
replace
1 | 字符串.replace(/正则表达式/, '替换的文本') |
change事件
当文本框的内容变化时 触发
1 | box.addEventListener('change', function(){ |
- Title: 正则表达式
- Author: WGenji
- Created at : 2024-08-26 13:51:51
- Updated at : 2024-08-26 13:51:51
- Link: https://redefine.ohevan.com/2024/08/26/2.javascript/js基础/7.正则表达式/
- License: This work is licensed under CC BY-NC-SA 4.0.