核心知识点
正则的表达式的特殊符号
总结: 主要是用在表单验证、失去焦点onblur事件、使用ajax返回数据,并判断。
一. 什么是正则表达式【了解】
正则表达式Regular Expression:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
正则表达式在其他语言中也广泛应用。
正则表达式,就是定义好一个字符串规则 ,然后根据规则实现对象字符串的匹配、提取、替换等
二. 正则表达式的作用【了解】
给定的字符串是否符合正则表达式的过滤逻辑(匹配)
可以通过正则表达式,从字符串中获取我们想要的特定部分(提取)
强大的字符串替换能力(替换)
三.正则表达式的特点【了解】
灵活性、逻辑性和功能性非常的强
可以迅速地用极简单的方式达到字符串的复杂控制
四. 正则表达式语法 【重要】
4.1 正则表达式的组成
普通字符abc 123 我爱你
特殊字符(元字符、限定符、中括号):正则表达式中有特殊意义的字符
4.2 元字符
元字符就是,在正则表达式中具有特殊含义的字符。
元字符****说明
\d匹配数字
\D匹配非数字
\w匹配字母或数字或下划线_
\W匹配非字母、数字、下划线_
\s匹配空白符(空格)
\S匹配非空白符
.匹配任意除了换行符之外的单个字符
4.3 限定符
控制字符出现的个数。
限定符****说明
n*匹配任何包含零个或多个 n 的字符串。n{0,}
n+匹配任何包含至少一个 n 的字符串。{1,}
n?匹配任何包含零个或一个 n 的字符串。{0,1}
n{x}匹配包含 x 个 n 的序列的字符串
n{x,}匹配包含至少 x 个 n 的序列的字符串。
n{x,y}匹配包含 至少x个 至多 y 个 n 的序列的字符串。
n$匹配任何结尾为 n 的字符串
^n匹配任何开头为 n 的字符串
注意:^正则表达式$ 使用时,会对字符串整体校验,完全符合才能够匹配。否则,不匹配。
注意:在使用花括号限制字符个数时,将来在去匹配时,首先从前向后匹配,先按照至多的要求匹配,至多不满足时,再降低要求匹配,若将至最少时还不匹配→ 最终是不匹配。
注意:关于次数至少是0时,表示的有没有都符合。 没有符合,内容不是也符合
4.4 中括号
一个中括号就代表一个字符,中括号的目的就是控制了一个字符的==范围==。
对象字符种类限制
中括号说明
[abc]查找一个方括号之间的任何字符。
[ abc]查找一个任何不在方括号之间的字符。在中括号中有取反的意思
[0-9]查找一个任何从 0 至 9 的数字。
[a-z]查找一个任何从小写 a 到小写 z 的字符。
[A-Z]查找一个任何从大写 A 到大写 Z 的字符。
[A-z]查找一个字母(包含大小写和下划线)
[\u4e00-\u9fa5]查找一个汉字
在匹配时,从前向后按照【规则】去找,若是全局匹配,前面若有满足项时,后面再匹配时,从满足项下一个开始匹配。
4.5 或模式
特殊符号:正则1|正则2, 或者。 符合或两边其中一个就可以匹配。
如:google,baidu,bing; // 匹配三种其中一种字符串
正则:google|baidu|bing
4.6 分组模式
特殊符号:(正则);
组指的是一个小集体,分组就是将一个大集体可以分成几个小集体。
如:控制你的名字连续出现的次数,最少1次,最多3次
正则:^(bruce){1,3}$
4.7 修饰符
→ g
g,全称global,有 全局 的意思,表示全局匹配。
如: var reg = /hello/g;
→ i
i,全称ignore,有 忽视、忽略 的意思,表示匹配字母时,可以忽略字母的大小写。
如: var reg = /hello/i;
→ gi
gi,全局匹配和忽略大小写一起使用。
如: var reg = /hello/gi;
4.8 正则转义符
.在正则中表示特殊符号。去除.的特殊意义,需要转义: .
课堂一练
验证邮箱
^\w+@\w+.\w+$
^\w+@\w+.[a-z]{2,3}$
^\d{5,11}@qq.com$
^\w+@[0-9a-z]{2,12}.(com|cn)$
验证身份证号
^\d{17}[\dX]$
^\d{17}(\d|X)$
验证手机号
^\d{11}$
验证日期 2018-10-10
^\d{4}-\d{1,2}-\d{1,2}$
验证IP 08-常见的
^\d{1,3}(.\d{1,3}){3}$
\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}
五. js中使用正则表达式 【重要】
5.1 正则表达式对象
创建正则表达式对象
方式1:
语法:var 变量 = new RegExp(“规则”,”修饰符”);
代码:
varreg=newRegExp('\d','g');
方式2:字面量或直接量
语法:var 变量 = /正则表达式/;
代码:
varreg=/\d/g;
检测匹配
正则对象.==test(字符串)== ; 用于检测字符串是否==匹配== 某个规则。返回true和false。 【重点 】
5.2 字符串对象方法相关正则使用
字符串.match(正则对象);
获取匹配正则的子字符串,返回一个数组。
字符串.replace(正则对象,替换后的内容); 替换所匹配正则的子字符串。返回替换后的字符串。
表单验证
自学习-密码强度
本章小结:
掌握正则表达式特殊符号的使用
掌握js正则表达式对象的创建及检测字符串是否匹配
掌握字符串对象操作正则的相关方法。
核心知识点
正则的表达式的特殊符号
总结: 主要是用在表单验证、失去焦点onblur事件、使用ajax返回数据,并判断。
一. 什么是正则表达式【了解】
正则表达式Regular Expression:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
正则表达式在其他语言中也广泛应用。
正则表达式,就是定义好一个字符串规则 ,然后根据规则实现对象字符串的匹配、提取、替换等
二. 正则表达式的作用【了解】
给定的字符串是否符合正则表达式的过滤逻辑(匹配)
可以通过正则表达式,从字符串中获取我们想要的特定部分(提取)
强大的字符串替换能力(替换)
三.正则表达式的特点【了解】
灵活性、逻辑性和功能性非常的强
可以迅速地用极简单的方式达到字符串的复杂控制
四. 正则表达式语法 【重要】
4.1 正则表达式的组成
普通字符abc 123 我爱你
特殊字符(元字符、限定符、中括号):正则表达式中有特殊意义的字符
4.2 元字符
元字符就是,在正则表达式中具有特殊含义的字符。
元字符****说明
\d匹配数字
\D匹配非数字
\w匹配字母或数字或下划线_
\W匹配非字母、数字、下划线_
\s匹配空白符(空格)
\S匹配非空白符
.匹配任意除了换行符之外的单个字符
4.3 限定符
控制字符出现的个数。
限定符****说明
n*匹配任何包含零个或多个 n 的字符串。n{0,}
n+匹配任何包含至少一个 n 的字符串。{1,}
n?匹配任何包含零个或一个 n 的字符串。{0,1}
n{x}匹配包含 x 个 n 的序列的字符串
n{x,}匹配包含至少 x 个 n 的序列的字符串。
n{x,y}匹配包含 至少x个 至多 y 个 n 的序列的字符串。
n$匹配任何结尾为 n 的字符串
^n匹配任何开头为 n 的字符串
注意:^正则表达式$ 使用时,会对字符串整体校验,完全符合才能够匹配。否则,不匹配。
注意:在使用花括号限制字符个数时,将来在去匹配时,首先从前向后匹配,先按照至多的要求匹配,至多不满足时,再降低要求匹配,若将至最少时还不匹配→ 最终是不匹配。
注意:关于次数至少是0时,表示的有没有都符合。 没有符合,内容不是也符合
4.4 中括号
一个中括号就代表一个字符,中括号的目的就是控制了一个字符的==范围==。
对象字符种类限制
中括号说明
[abc]查找一个方括号之间的任何字符。
[ abc]查找一个任何不在方括号之间的字符。在中括号中有取反的意思
[0-9]查找一个任何从 0 至 9 的数字。
[a-z]查找一个任何从小写 a 到小写 z 的字符。
[A-Z]查找一个任何从大写 A 到大写 Z 的字符。
[A-z]查找一个字母(包含大小写和下划线)
[\u4e00-\u9fa5]查找一个汉字
在匹配时,从前向后按照【规则】去找,若是全局匹配,前面若有满足项时,后面再匹配时,从满足项下一个开始匹配。
4.5 或模式
特殊符号:正则1|正则2, 或者。 符合或两边其中一个就可以匹配。
如:google,baidu,bing; // 匹配三种其中一种字符串
正则:google|baidu|bing
4.6 分组模式
特殊符号:(正则);
组指的是一个小集体,分组就是将一个大集体可以分成几个小集体。
如:控制你的名字连续出现的次数,最少1次,最多3次
正则:^(bruce){1,3}$
4.7 修饰符
→ g
g,全称global,有 全局 的意思,表示全局匹配。
如: var reg = /hello/g;
→ i
i,全称ignore,有 忽视、忽略 的意思,表示匹配字母时,可以忽略字母的大小写。
如: var reg = /hello/i;
→ gi
gi,全局匹配和忽略大小写一起使用。
如: var reg = /hello/gi;
4.8 正则转义符
.在正则中表示特殊符号。去除.的特殊意义,需要转义: .
课堂一练
验证邮箱
^\w+@\w+.\w+$
^\w+@\w+.[a-z]{2,3}$
^\d{5,11}@qq.com$
^\w+@[0-9a-z]{2,12}.(com|cn)$
验证身份证号
^\d{17}[\dX]$
^\d{17}(\d|X)$
验证手机号
^\d{11}$
验证日期 2018-10-10
^\d{4}-\d{1,2}-\d{1,2}$
验证IP 08-常见的
^\d{1,3}(.\d{1,3}){3}$
\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}
五. js中使用正则表达式 【重要】
5.1 正则表达式对象
创建正则表达式对象
方式1:
语法:var 变量 = new RegExp(“规则”,”修饰符”);
代码:
varreg=newRegExp('\d','g');
方式2:字面量或直接量
语法:var 变量 = /正则表达式/;
代码:
varreg=/\d/g;
检测匹配
正则对象.==test(字符串)== ; 用于检测字符串是否==匹配== 某个规则。返回true和false。 【重点 】
5.2 字符串对象方法相关正则使用
字符串.match(正则对象);
获取匹配正则的子字符串,返回一个数组。
字符串.replace(正则对象,替换后的内容); 替换所匹配正则的子字符串。返回替换后的字符串。
表单验证
自学习-密码强度
本章小结:
掌握正则表达式特殊符号的使用
掌握js正则表达式对象的创建及检测字符串是否匹配
掌握字符串对象操作正则的相关方法。