目标:
- 能够说出正则表达式的作用
- 能够写出简单的正则表达式
- 能够使用正则表达式对表单进行验证
- 能够使用正则表达式替换内容
1. 正则表达式概述
1.1 什么是正则表达式
正则表达式( Regular Expression )是用于匹配字符串中字符组合的模式。在 JavaScript 中,正则表达式也是对象。
正则表通常被用来检索、替换那些符合某个模式(规则)的文本,例如验证表单:用户名表单只能输入英文字母、数字或下划线, 昵称输入框中可以输入中文(匹配)。此外,正则表达式还常用于过滤掉页面内容中的一些敏感词(替换),或从字符串中获取我们想要的特定部分(提取)等
其他语言也会使用正则表达式,本阶段我们主要是利用 JavaScript 正则表达式完成表单验证。
1.2 正则表达式的特点
- 灵活性、逻辑性和功能性非常的强。
- 可以迅速地用极简单的方式达到字符串的复杂控制。
- 对于刚接触的人来说,比较晦涩难懂。比如:
^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
- 实际开发,一般都是直接复制写好的正则表达式。但是要求会使用正则表达式并且根据实际情况修改正则表达式。比如用户名:
/^[a-z0-9_-]{3,16}$/
2. 正则表达式在 JavaScript 中的使用
2.1 创建正则表达式
在 JavaScript 中,可以通过两种方式创建一个正则表达式。
-
通过调用 RegExp 对象的构造函数创建
var regexp = new RegExp(/表达式/);
-
通过字面量创建
var regexp = /表达式/;
2.2 测试正则表达式 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(rg.test(123));//true
console.log(rg.test('abc'));//false
</script>
3. 正则表达式中的特殊字符
3.1 正则表达式的组成
一个正则表达式可以 由简单的字符构成,比如 /abc/
,也可以是 简单和特殊字符的组合,比如 /ab*c/
。其中特殊字符也被称为 元字符,在正则表达式中是具有特殊意义的专用符号,如 ^
<