Web前端开发笔记-----24.正则表达式、、字符、正则练习
文章目录
一、正则表达式
概念:假设用户需要在HTML表单中填写姓名、地址、出生日期等。那么在将表单提交到服务器进一步处理前, JavaScript 程序会检查表单以+确认用户确实输入了信息并且这些信息是符合要求的。
正则表达式:super string。
正则表达式( regular expression)是一个描述字符模式的对象。ECMAScript 的RegExp 类表示正则表达式,而String 和正则表达式都定义了进行强大的[模式匹配]和[文本检索]与[替换]的函数。
1.创建正则表达式
var box1 = new RegExp("hello","ig");
a.通过new去声明正则表达式
第一个参数:正则表达式的主体 字符串
第二个参数:修饰符 i g
注:修饰符没有顺序
var box1 = RegExp("hell","ig")
b.省略new运算符去声明正则表达式
var box1 = /hello/gi;
c.通过常量赋值
2.正则表达式方法
test
格式:正则.test(字符串)
功能:在字符串中匹配这个正则是否存在
返回值:如果匹配成功返回true,匹配失败返回false。
exec
格式:正则.exec(字符串)
功能:在字符串中匹配这个正则是否存在
返回值:返回匹配到的串,匹配成功返回一个装有字符串的数组,匹配失败返回NULL。
3.在字符串中使用正则的方法
match()
格式:字符串.match(正则)
功能:在字符串中匹配是否符合正则表达式
返回值:匹配成功,返回装有匹配到字符串的数组
匹配失败,返回null
replace()
格式:字符串.replace(oldStr/则,newStr);
功能:用newStr将oldStr替换
返回值:替换成功的新字符串
split()
格式:字符串.spilt(分割符/正则);
功能:用分割符将原字符串进行分割
返回值:分割剩下的子串组成的数组
search()
格式:字符串.search(子串/正则)
功能:找到符合条件的子串第一次出现的位置
返回值:
如果找到,返回>=0的下标
否则,返回-1
二、字符
1.元字符
元字符:在正则表达式中有特殊含义的字符
单个数字和字符的元字符:
. 匹配单个的任意字符
[范围] 匹配单个范围内的字符
[0-9]
[a-zA-Z0-9_] 匹配单个的数字,字母,下划线
[^范围] 匹配任意一个除括号范围内的字符
[^0-9] 匹配任意一个非数字字符
\w 等价于[a-zA-Z0-9_]
\W 等价于[^a-zA-Z0-9_]
\d 等价于[0-9]
\D 等价于[^0-9]
2.替代字符 |
3.修饰符
i 忽略大小写
g 全局匹配
m 换行匹配
三、正则练习
1.判断文件是否是压缩包
<script>
/*
转义字符:
\. 代表本来.字符的意思
\* 代表本来*字符的意思
*/
var box = /^\w+\.(zip|rar|gz)$/;
</script>
2.验证是否是手机号
var box = /^1\d{10}$/;
3.验证是否是身份证号
var box = /^[1-9]\d{16}(\d|x)$/;
4.验证是否是纯中文
var box = /^[\u4e00-\u9fa5]+$/;