文章目录
1. 概述
正则表达式是用于匹配字符串中字符组合的模式。在JavaScript中,正则表达式也是对象。
1.1 作用
正则表达式通常是被用来检索、替换那些符合某个模式(规则)的文本。
例如
- 验证表单:用户名只能输入英文字母、数字或者下划线等等。
- 还常用于过滤页面内容的一些敏感词(替换),或从字符串中获取我们想要的特定部分(提取)等
1.2 特点
- 灵活性、逻辑性和功能性非常的强。
- 可以迅速地用极简单地方式达到字符串地复杂控制。
- 实际开发一般直接复制写好的正则表达式。但是要求会使用正则表达式并且根据实际情况修改正则表达式。
2. 正则表达式在JavaScript中的使用
2.1 创建正则表达式
在JavaScript中,可以通过两种方式创建一个正则表达式:
- 通过调用RegExp对象·的构造函数创建
- 利用字面量创建(推荐)
1.通过调用RegExp对象·的构造函数创建
语法:
var 变量名 =new RegExp(/表达式/);
var reg = new RegExp(/abc/);
2.利用字面量创建(推荐)
语法:
var 变量名=/表达式/
var reg=/abc/;
2.2 测试正则表达式 test
test()正则对象方法,用于检测字符串是否符合该规则,该对象会返回true或false,其参数是测试字符串。
语法:
regexObj.test(str)
- regexObj 是写的正则表达式
- str 我们要测试的文本
- 就是检测str文本是否符合我们写的正则表达式规范
例如:
这里是检测输入字符串是否为123
<script>
var reg = /123/;
console.log(reg.test('1'));//false
console.log(reg.test('2'));//false
console.log(reg.test('3'));//false
console.log(reg.test('4'));//false
console.log(reg.test('123'));//true
</script>
3. 正则表达式中的特殊字符
3.1 正则表达式的组成
一个正则表达式可以由简单的字符构成,比如/abc/,也可以是简单和特殊字符的组合,比如/ab*c/,其中特殊字符也被称为元字符,在正则表达式中是否具有特殊意义的专用符号,如^、$等
特殊字符可以参考:
- MDN:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
- jQuery手册:正则表达式部分
- 正则测试工具:https://c.runoob.com/front-end/854
3.2 边界符
正则表达式中的边界符(位置符)用来提示字符所处的位置,主要有两个字符。
边界符 | 说明 |
---|---|
^ | 表示匹配行首的文本(以谁开始) |
$ | 表示匹配行尾的文本(以谁结束) |
<script>
// 1.以123开始
var reg = /^123/;
console.log(reg.test(1));//false
console.log(reg.test(12));//false
console.log(reg.test(123));//true
console.log(reg.test(1234));//true
// 2.以1