JS之正则表达式
正则表达式的概述
1.正则表达式(regular expression)是一个描述字符规则的对象。我们可以通过RegExp 类创建正则表达式。
2.同时String 和 RegExp 都定义了使用正则表达式进行强大的模式匹配和文本检索与替换的方法。
3.前端正则表达式主要用来做表单验证,因为客户端验证可以提高用户体验和节约服务器端的资源。
正则对象的声明
1.使用//来声明(常用的)
var regx = /a/ //表示匹配a //字符串支持正则的方法 replace split search match var str = 'abcdef' console.log(str.match(regx)); regx = /a/i console.log('ABC'.match(regx));
2.使用new关键词来声明
//使用new关键词 参数一是匹配的对应的正则表达式 参数二模式 //i表示不区分大小写 g表示全局搜索 var regx1 = new RegExp('a','i') var str1 = 'ABC' console.log(str1.match(regx1));
模式修饰
g 全局搜索
i 不区分大小写
m 换行模式
正则匹配的元字符
[] 表示里面任意的一个元素
^表示开头
$ 表示结尾
{} 表示个数
var regx2 = /[a-z]{6}/ //表示6个小写的字母 regx2 = /[a-z]{0}/ //表示0个字母 regx2 = /[a-z]{1,3}/ //表示1个到3个 regx2 = /[a-z]{1,}/ //表示1个到无穷个
{n} 表示n个
{n,m} 表示n个到m个
{n,} 表示n个到无穷个
+ 表示一个到多个 {1,}
* 表示0个到多个 {0,}
? 表示0个到一个 {0,1}
. 表示所有的内容(包括中文字符)
\w 表示对应的字母数字下滑线 \W 就是相反的 不是字母数字下滑线
\d 表示数字 \D表示非数字
\s 表示空白字符串(回车 制表 空格) \S就是相反的 不是空白字符
() 分组
| 或者
转义 \
//匹配 ? * + .等元字符 转义\ var regx10 = /^[?]$/ console.log('?'.match(regx10)); var regx10 = /^[*]$/ console.log('*'.match(regx10)); //用转义字符来 var regx10 = /^\*$/ console.log('*'.match(regx10)); var regx10 = /^\.$/ console.log('.'.match(regx10));
正则的检测方法
test 测试 返回一个boolean类型值(是否匹配)
var regx = /\w/ console.log(regx.test('abc')) //true
exec 执行 返回给你一个对应的匹配的数组(如果有就返回一个数组)
var regx = /\d/ console.log(regx.exec('123')) //[1,2,3]
字符串支持正则的4个方法
使用 replace 替换匹配到的数据,2个参数:1代表正则,2代表用来替换的字符
使用 split 拆分成字符串数组
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现