千家信息网

好用的正则表达式有哪些

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章主要介绍了好用的正则表达式有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。正则表达式,又称正规表示法、常规表示法。(英语:
千家信息网最后更新 2025年12月03日好用的正则表达式有哪些

这篇文章主要介绍了好用的正则表达式有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

正则表达式,又称正规表示法、常规表示法。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。

一、归类

1. "^" 同类

"^" 匹配输入字符串的开始位置。
"$" 匹配输入字符串的结束位置。
"\b" 匹配一个单词边界,也就是指单词和空格间的位置。(例如:"er\b"可以匹配"never"中的"er",但是不能匹配"verb"中的"er")
"\B" 和"\b"相反,匹配非单词边界(例如:"er\b"可以匹配"verb"中的"er",但是不能匹配"never"中的"er")

2."*" 同类

星号(*): 星号代表匹配它前面一个字符任意遍(0或任意次)。
加号(+): 表示匹配前面字符一次或多次(至少一次)。
问号(?): 问号也是一个数量词,它代表匹配前一个字符0次或1次。
中括号[]: 中括号用来表示一个字符集合,如果这个集合有很多元素,如26个字母,数字等,一个个地写在中括号里,未免太麻烦了,所以一般我们用连字符来表示一个范围(例如:[a-z]表示小写字母的集合;[a-zA-Z]表示大小写字母的集合)。脱字符"^"表示匹配任何不在该集合中的字符。(例如:[^a-z])。
大括号{}: 大括号的作用是指重复前面一个字符多少遍(例如:{N}:重复n遍;{n,m}:重复n~m遍;{n,}:至少重复n遍;{,m}:最多重复m遍)

3."\s" 同类

"\w" (小写w)表示字母或数字,等价于[a-zA-Z0-9]
"\W" (大写W)表示非字母且非数字,与\w相反,等价于[^a-zA-Z0-9]
"\s" (小写s)表示匹配一个空字符,包括空格,换行,回车,tab,等价于[ \n\r\t\f]
"\S" (大写S)匹配非空格字符,与\s相反,等价于[^ \n\r\t\f]
"\d" (小写d)表示十进制数字,等价于[0-9]
"\D" (大写D)匹配一个非数字字符,等价于[^0-9]

二、声明一个checkNum函数

function checkNum(input){ /*表示必须是1或者多个数字*/ var regex = /^[A-Z]{6,12}$/; if (input.match(regex)) { return true; } else { return false; }}

三、声明一个checkEmail函数

function checkEmail(input){ var regex = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; if (input.match(regex)) {  return true; } else {  return false; } }}

四、封装一个trim()

var my = function() {};my.prototype = { ltrim: function(str) { return str.replace(/(^\s*)/g,''); }, rtrim: function(str){ return str.replace(/(\s*$)/g,''); }, trim: function(str){ return str.replace(/(^\s*)|(\s*$)/g,''); } } /*^ 以xx开头*/ /*\s 表示空格*/ /**表示匹配零个或者多个*/ /*g 表示匹配全部*/ /*(^\s*)表示匹配以空格开头一个或者多个字符*/ /*str.replace(/(^\s*)/g,'') 表示用''替换所有的空格*/

附:常用正则表达式大全!(例如:匹配中文、匹配html)

匹配中文字符的正则表达式: [u4e00-u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了
匹配双字节字符(包括汉字在内):[^x00-xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
匹配空白行的正则表达式:ns*r
评注:可以用来删除空白行
匹配HTML标记的正则表达式:<(S*?)[^>]*>.*?|<.*? />
评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力
匹配首尾空白字符的正则表达式:^s*|s*$
评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式
匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
评注:表单验证时很实用
匹配网址URL的正则表达式:[a-zA-z]+://[^s]*
评注:网上流传的版本功能很有限,上面这个基本可以满足需求
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
评注:表单验证时很实用
匹配国内电话号码:d{3}-d{8}|d{4}-d{7}
评注:匹配形式如 0511-4405222 或 021-87888822
匹配腾讯QQ号:[1-9][0-9]{4,}
评注:腾讯QQ号从10000开始
匹配中国邮政编码:[1-9]d{5}(?!d)
评注:中国邮政编码为6位数字
匹配身份证:d{15}|d{18}
评注:中国的身份证为15位或18位
匹配ip地址:d+.d+.d+.d+
评注:提取ip地址时有用

匹配特定数字:

^[1-9]d*$    //匹配正整数
^-[1-9]d*$   //匹配负整数
^-?[1-9]d*$   //匹配整数
^[1-9]d*|0$  //匹配非负整数(正整数 + 0)
^-[1-9]d*|0$   //匹配非正整数(负整数 + 0)
^[1-9]d*.d*|0.d*[1-9]d*$   //匹配正浮点数
^-([1-9]d*.d*|0.d*[1-9]d*)$  //匹配负浮点数
^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$  //匹配浮点数
^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$   //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$  //匹配非正浮点数(负浮点数 + 0)
评注:处理大量数据时有用,具体应用时注意修正

匹配特定字符串:

^[A-Za-z]+$  //匹配由26个英文字母组成的字符串
^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串
^[a-z]+$  //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串
^w+$  //匹配由数字、26个英文字母或者下划线组成的字符串

只能输入数字:"^[0-9]*$"
只能输入n位的数字:"^d{n}$"
只能输入至少n位数字:"^d{n,}$"
只能输入m-n位的数字:"^d{m,n}$"
只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"
只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"
只能输入有1-3位小数的正实数:"^[0-9]+(.[0-9]{1,3})?$"
只能输入非零的正整数:"^+?[1-9][0-9]*$"
只能输入非零的负整数:"^-[1-9][0-9]*$"
只能输入长度为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之间,
只能包含字符、数字和下划线。
验证是否含有^%&'',;=?$"等字符:"[^%&'',;=?$x22]+"
只能输入汉字:"^[u4e00-u9fa5],{0,}$"
验证Email地址:"^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$"
验证InternetURL:"^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$"
验证电话号码:"^((d{3,4})|d{3,4}-)?d{7,8}$"
正确格式为:"XXXX-XXXXXXX","XXXX-XXXXXXXX","XXX-XXXXXXX",
"XXX-XXXXXXXX","XXXXXXX","XXXXXXXX"。
验证身份证号(15位或18位数字):"^d{15}|d{}18$"
验证一年的12个月:"^(0?[1-9]|1[0-2])$"正确格式为:"01"-"09"和"1""12"
验证一个月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"
正确格式为:"01""09"和"1""31"。
匹配中文字符的正则表达式: [u4e00-u9fa5]
匹配双字节字符(包括汉字在内):[^x00-xff]
匹配空行的正则表达式:n[s| ]*r
匹配HTML标记的正则表达式:/<(.*)>.*|<(.*) />/
匹配首尾空格的正则表达式:(^s*)|(s*$)
匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
匹配网址URL的正则表达式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?*/

感谢你能够认真阅读完这篇文章,希望小编分享的"好用的正则表达式有哪些"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

字符 表达式 数字 正则 字母 输入 字符串 评注 英文 验证 整数 空格 点数 小写 等价 地址 大写 开头 下划线 字节 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 辽宁进口软件服务器软件 网络安全在哪里学最好 社区风险评估网络安全 贵州艾肯网络技术有限公司 网络安全大赛英文名是什么 软件开发降价 腾讯云服务器远程桌面 软件开发项目设计与概预算 数据库逻辑结构表怎么画 云盾可以防护本地服务器 山东省人大常委会网络安全处 互联网科技的新闻 开福区软件开发培训 怎么在表格里筛选特定数据库 七日杀服务器能联机吗 分布式数据库的数据透明性 腾讯云服务器被举报 便宜的云服务器和域名 不同服务器登录教程 我国大学生的网络安全意识 青少年 网络安全事例 新乡贤娱网络技术有限公司 江苏家用软件开发要多少钱 学软件开发是前端好一点还是后端 胶州游戏软件开发外包公司 国家的网络安全系统是谁支持的 网络安全保护公司名字 知网+全文数据库 软件开发轻量化设计模式 2008终端服务器安装
0