一.正则表达式概述
1.什么是正则表达式
- 正则表达式( Regular Expression )是用于匹配字符串中字符组合的模式。在 JavaScript中,正则表达式也
是对象。 - 正则表通常被用来检索、替换那些符合某个模式(规则)的文本,例如验证表单:用户名表单只能输入英文字
母、数字或者下划线, 昵称输入框中可以输入中文(匹配)。此外,正则表达式还常用于过滤掉页面内容中的一
些敏感词(替换),或从字符串中获取我们想要的特定部分(提取)等 。
2.正则表达式的特点
- 灵活性、逻辑性和功能性非常的强。
- 可以迅速地用极简单的方式达到字符串的复杂控制。
二.创建正则表达式
在 JavaScript 中,可以通过两种方式创建一个正则表达式。
1.通过调用 RegExp 对象的构造函数创建
var 变量名 = new RegExp(/表达式/);
2. 通过字面量创建
var 变量名 = /表达式/;
3.测试正则表达式 test
test() 正则对象方法,用于检测字符串是否符合该规则,该对象会返回 true 或 false,其参数是测试字符串。
regexObj.test(str)
- regexObj 是写的正则表达式
- str 我们要测试的文本
- 就是检测str文本是否符合我们写的正则表达式规范
代码演示
<script>
// 在js中有俩种方法创建正则表达式
// 1.通过调用构造函数RegExp对象
var regexp = new RegExp(/123/);
console.log(regexp);
// 2.通过字面量创建
var rg = /123/;
console.log(rg);
// 3.test()原来检测字符串是否合格规则 返回布尔值
console.log(regexp.test('123')); //true
console.log(rg.test('123')); //true
console.log(rg.test('abc')); //false
</script>
三… 正则表达式中的特殊字符
1 正则表达式的组成
- 一个正则表达式可以由简单的字符构成,比如 /abc/,也可以是简单和特殊字符的组合,比如 /ab*c/ 。其中
特殊字符也被称为元字符,在正则表达式中是具有特殊意义的专用符号,如 ^ 、$ 、+ 等。由于符号很多具体参考手册
2 边界符
正则表达式中的边界符(位置符)用来提示字符所处的位置,主要有两个字符。
边界符 | 说明 |
---|---|
^ | 表示以谁开始 |
$ | 表示以谁结束 |
如果 ^ 和 $ 在一起,表示必须是精确匹配
代码演示
<script>
// 边界符 ^ $
var rg = /abc/; // /abc/ 只要包含有abc这个字符串返回的都是true
console.log(rg.test('abc')); //true
console.log(rg.test('abcaa')); //true
console.log(rg.test('bbabcaa')); //true
console.log(rg.test('bbacbcaa')); //false 因为这里abc位置没有挨在一起
var reg = /^abc/ //表示必须以abc开头的
console.log(reg.test('abc')); //true
console