Javascript(四十二)正则表达式

概念:假设用户需要在HTML表单中填写姓名、地址、出生日期等。那么在将表单提交到服务器进一步处理前,JavaScript程序会检查表单已确认用户确实输入了信息并且这些信息符合要求的
正则表达式,super string

正则表达式(regular expression)是一个描述字符模式的对象。ECMASscript的RegExp类表示正则表达式,而String和正则表达式都定义了进行强的模式匹配和文本检索与替换函数。

创建正则表达式的方式。

创建正则表达式和创建字符串类似,创建正则表达式提供了两种方法,一种是采用new运算符,另一个是采用字面量。
1.通过new去声明正则表达式
​ 第一个参数:正则表达式的主体 字符串
​ 第二个参数:修饰符 i(忽略大小写) g(全局匹配)m(换行匹配)

var exp=new RegExp('hello','i')

在这里插入图片描述
2.忽略new,直接通过Reg exp声明

var exp=RegExp('world','ig')

在这里插入图片描述
3.正则表达式常量:

var exp=/hello/gi;

正则表达式方法:

test

格式:正则.test(字符串)

功能:在字符串中匹配这个正则是否存在。

返回值:如果匹配成功返回true;匹配失败返回false。
在这里插入图片描述
exec

格式:正则.exec(字符串)

功能:在字符串匹配这个正则是否存在

返回值:返回匹配到的串,匹配成功,返回一个装有字符串的数组,匹配失败,返回null
在这里插入图片描述
字符串中可以使用正则的方法:
match

格式:字符串.match(正则)

功能:在字符串匹配是否有符合正则表达式

返回值:匹配成功,返回有匹配到的子串的数组

​ 匹配失败,返回null
replace

格式:字符串.replace(oldstr,newstr)

功能:将字符串中的oldstr子串用newstr替换,并且返回一个新字符串

返回值:被替换后的新字符串
在这里插入图片描述
split

格式:字符串.split(分隔符/正则)

功能:利用分隔符或正则对字符串进行分割,并返回分割后各子串数组。

功能:返回分割后子串组成的数组
在这里插入图片描述
search()

参数:字符串、正则表达式(与indexOf区别)

功能:找出字符第一次出现的下标

返回值:1.找到:返回字符对应的下标(0<=) 2.没找到:返回-1
在这里插入图片描述
元字符:在正则表达式有特殊含义的字符

单个字符和数字

. 匹配除换行符外的任意字符

[]匹配括号中的字符集中的任意单个字符

[^] 匹配不在括号中的字符集中的任意单个字符

[a-z0-9] 匹配括号中的字符集中的任意字符

[^a-z0-9] 匹配不在括号中的字符集中的任意字符

\d 匹配数字

\D 匹配非数字,同[^0-9]相似

\w 匹配字母和数字及_

\W 匹配非字母和数字及_
在这里插入图片描述
重复字符:

(x表示任意的单个字符)

x?匹配0个或1个x

x* 匹配0个或任意多个x

x+ 匹配至少一个x

(xyz)+ 匹配至少一个(xyz)

x{m,n} 匹配最少m个,最多n个x

x{n} 必须匹配n个字符
在这里插入图片描述
字符类:空白字符
在这里插入图片描述
\0匹配null字符

\b匹配空格字符

\f 匹配进纸(\f)字符

\n匹配换行字符

\r匹配回车字符

\t匹配制表字符

\s匹配空白字符、空格、制表符、换行符

\S匹配非空白字符
在这里插入图片描述
字符类:锚字符
在这里插入图片描述
在这里插入图片描述
注意:/^xxxx$/ 必须整个字符串只有xxxx才匹配成功,而不是行首存在xxxx和行尾存在xxxx。

字符类:替代字符:

this|where|logo 匹配this或where或logo任意一个
在这里插入图片描述
修饰符 i(忽略大小写) g(全局匹配)

m(换行匹配):如果在字符串中遇到换行,就重新计算
在这里插入图片描述
练习:

检查压缩包
在这里插入图片描述
手机号
在这里插入图片描述
电子邮件验证
在这里插入图片描述
验证是否是纯中文的

中文范围:\u4e00-\u9fa5
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值