JS正则表达式

本文介绍了JavaScript中正则表达式的使用方法,包括基本语法、元字符、量词等内容,并提供了多种常见应用场景的实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1用法:

re = new RegExp(/pattern/[flags])

RegExp是内置的JS类,pattern是正则表达式内容,flag标志位,g表示全文查找,i忽略大小写,m多行查找.

(?:)?表示非捕获型分组,可选的非捕获型分组,最后的”?“可选

(...) 标识捕获型分组 ,结果放到result中返回

1[]用于某个范围的字符:

[abc] 查找方括号之间的任何字符。
[^abc] 查找任何不在方括号之间的字符。
[0-9] 查找任何从 0 至 9 的数字。
[a-z] 查找任何从小写 a 到小写 z 的字符。
[A-Z] 查找任何从大写 A 到大写 Z 的字符。
[A-z] 查找任何从大写 A 到小写 z 的字符。
[adgk] 查找给定集合内的任何字符。
[^adgk] 查找给定集合外的任何字符。
(red|blue|green) 查找任何指定的选项。

元字符

元字符(Metacharacter)是拥有特殊含义的字符:

元字符 描述
. 查找单个字符,除了换行和行结束符。
\w 查找单词字符。[a-zA-Z0-9_]
\W 查找非单词字符。[^a-zA-Z0-9_]
\d 查找数字。等价[0-9]
\D 查找非数字字符。[^0-9]
\s 查找空白字符。
\S 查找非空白字符。
\b 查找位于单词的开头或结尾的匹配。单词边界
\B 查找不处在单词的开头或结尾的匹配。非单词边界
\0 查找 NUL 字符。
\n 查找换行符。
\f 查找换页符。
\r 查找回车符。
\t 查找制表符。
\v 查找垂直制表符。
\xxx 查找以八进制数 xxx 规定的字符。
\xdd 查找以十六进制数 dd 规定的字符。
\uxxxx 查找以十六进制数 xxxx 规定的 Unicode 字符。

量词

量词 描述
n+ 匹配任何包含至少一个 n 的字符串。
n* 匹配任何包含零个或多个 n 的字符串。
n? 匹配任何包含零个或一个 n 的字符串。
n{X} 匹配包含 X 个 n 的序列的字符串。
n{X,Y} 匹配包含 X 或 Y 个 n 的序列的字符串。
n{X,} 匹配包含至少 X 个 n 的序列的字符串。
n$ 匹配任何结尾为 n 的字符串。
^n 匹配任何开头为 n 的字符串。
?=n 匹配任何其后紧接指定字符串 n 的字符串。
?!n 匹配任何其后没有紧接指定字符串 n 的字符串。

只能输入数字:“^[0-9]*$”  以0-9开头的,数量可以任何并以此结束的字符串
只能输入n位的数字:“^\d{n}$” 
只能输入至少n位数字:“^\d{n,}$”
只能输入m-n位的数字:“^\d{m,n}$”
只能输入有1-3位小数的正实数:“^\d+(.[0-9]{1,3})?$”
只能输入非零的正整数:“^+?[1-9]\d*$”
只能输入非零的负整数:“^-[1-9]\d*$”
只能输入长度为3的字符:“^.{3}$” 注意'.'而不是'*','."是字符,'*'是量词
只能输入由26个英文字母组成的字符串:“^[A-Za-z]+$”
只能输入由26个大写英文字母组成的字符串:“^[A-Z]+$”
只能输入由26个小写英文字母组成的字符串:“^[a-z]+$”
只能输入由数字和26个英文字母组成的字符串:“^[A-Za-z0-9]+$”
只能输入由数字、26个英文字母或者下划线组成的字符串:“^\w+$”
验证用户密码:“^[a-zA-Z]\w{5,17}$”正确格式为:以字母开头,长度在6-18之间

匹配 email : /^([\w][\w_.]+)@([\w_]+).([a-z]+)$/i.

匹配固话:/^(?:(\d{3,4})\-)?(\d{7,8})(?:\-(\d+))?$/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值