正则表达式

正则表通常被用来检索、替换那些符合某个模式(规则)的文本

参考资料

使用

创建

// 对象创建
var reg = new RegExp("正则表达式");
// 字面量创建
var reg = /正则表达式/;

使用

reg.test('some text');

组成

边界符

边界符 说明
^ 表示匹配行首的文本(以谁开始)
$ 表示匹配行尾的文本(以谁结束)
/^abc/.test('abcdefg') // true
/abc$/.test('xxabc') // true

字符类

  • []方括号

一系列字符可供选择,只要匹配其中一个就可以了

/[abc]/.test('a') // true
// 匹配a-z之间的任意字母
/[a-z]/.test('h') // true
// a-z不区分大小写
/[a-zA-Z]/.test('H') // true
// a-c之外的
/[^a-c]/.test('c') // false
  • 量词符
量词 说明
* 重复0次或更多次
+ 重复1次或更多次
? 重复0次或1次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次
/[a-zA-Z]*/.test('HHHH') // true
/[a-zA-Z]+/.test('') // false
/[a-zA-Z]{2}/.test('xx') // true
/[a-zA-Z]{2,}/.test('xxxx') // true
/^a${2,6}/.test('aaaaaaa') // false

预定义类

202022911125

/^\d{3,4}-\d{7,8}$/.test('0596-3766183') // true

正则替换

'我的电话:0596-3766183'.replace(/\d{3,4}-\d{7,8}/,'****') // 我的电话:****

正则表达式参数

/reg/[g] // 全局匹配
/reg/[i] // 忽略大小写
/reg/[gi] // 全局匹配+忽略大小写

results matching " "

No results matching " "

results matching " "

No results matching " "