Skip to content

JavaScript中的正则表达式

作用:正则表达式可以定义一些字符串的规则,计算机可以根据正则表达式,来检查一个字符串是否符合规则。

正则表达式的创建

1、利用构造函数创建正则表达式

JavaScript
var reg = new RegExp("正则表达式","匹配模式");
// 构造函数中可以传递一个匹配模式作为第二个参数,可以是
// i 忽略大小写
// g 全局匹配模式
// 我们可以为正则表达式设置多个参数,且顺序无所谓

2、使用字面量来创建正则表达式

JavaScript
var 变量 = /正则表达式/匹配模式

使用字面量的方式创建更加简单,使用构造函数创建更加灵活,构造函数中的正则表达式可以是一个变量。

3、总结

以下是等价的:

javascript
var re = new RegExp("\\w+");
var re = /\w+/;

常用的方法

test()

用来检测一个字符串是否符合正则表达式的规则。如果符合返回True,如果不符合则返回False。

javascript
var reg = New RegExp("a")
reg.test("1111")  //检查1111中是否含有a

正则表达式语法

|:或者

[ab]也是或者关系

[a-z]任意小写字母

[A-Z]任意大写字母

[A-z]任意大小写字母

[^表达式] 除了的意思

[0-9]任意数字

\b单词\b 单词边界 例如匹配he 而不匹配her


[] 表示范围:如数字[0-9],字母[a-z]

{n} 表示重复n次:也可以指定范围如{2,4}重复两到四次

^ 以某某开头

$ 以某某结束

使用示例

javascript
//定义表达式 /表达式/
var re = /\bpmjld\b/;
//查询
re.test(b4[c].className)

检测是否有abc,adc,aec

javascript
reg = /a[bde]c/

除了a之外的

javascript
reg = /[^a]/

检测12的数字

javascript
let regx = new RegExp('^[0-9]{1,12}$')
console.log(regx.test(122222222222));

在线工具

在线regex正则表达式可视化工具 (toolscat.com)