正则表达式
由数字、26个英文字母或者下划线组成的字符串
^[0-9a-zA-Z_]{1,}$ 或 ^/w+$
由26个英文字母组成的字符串
^[A-Za-z]+$
只能输入数字
^[0-9]*$
只能输入n位数字
^/d{n}$
只能输入至少n位数字
^/d{n,}$
只能输入m-n位数字
^/d{m,n}$
m到n个汉字
@“^[\u4E00-\u9FA5]{m,n}$”
只含有汉字、数字、字母、下划线
^[a-zA-Z0-9_\u4e00-\u9fa5]+$
只含有汉字、数字、字母、下划线,不能以下划线开头和结尾
^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$
非负整数
^/d+$
正整数
^[0-9]*[1-9][0-9]*$
整数
^-?/d+$
非负浮点数
^/d+(/./d+)?$
email地址
^[/w-]+(/.[/w-]+)*@[/w-]+(.[/w-]+)+$
解释:
\w 查找单词字符
\W 查找非单词字符
\d 查找数字
\D 查找非数字字符
\s 查找空白字符
\S 查找非空白字符
描述字符范围
[abc] 匹配任一字符
[^abc] 匹配任一不在范围内的字符
[0-9]、[a-z]、[A-Z]、[A-z]所有字母
选择匹配 |
如匹配任意数字或字母:var r = /\w+|\d+/;
重复匹配
n+ 匹配任何包含至少一个n的字符串
n* 匹配包含0个或多个n的字符串
n? 匹配包含0个或1个n的字符串
n{x} 匹配包含x个n的字符串
n{x,y} 匹配x到y个
n{x,} 匹配至少x个
边界量词
^ 匹配开头
$ 匹配结尾
注册信息验证
//用户名正则,4到16位(字母,数字,下划线,减号)
var uPattern = /^[a-zA-Z0-9_-]{4,16}$/;
//输出 true
console.log(uPattern.test("iFat3"));
//密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符
var pPattern = /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/;
//输出 true
console.log("=="+pPattern.test("iFat3#"));
这里注意:
用法 说明 返回值
pattern.test(str) 判断str是否包含匹配结果 包含返回true,不包含返回false。
pattern.exec(str) 根据pattern对str进行正则匹配 返回匹配结果数组,如匹配不到返回null
str.match(pattern) 根据pattern对str进行正则匹配 返回匹配结果数组,如匹配不到返回null
str.replace(pattern, replacement) 根据pattern进行正则匹配,把匹配结果替换为replacement 一个新的字符串
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义