10个常用的正则表达式

1 电话号码

javascript 复制代码
let r1 = /^1[3-9]\d{9}$/g
console.log(r1.exec(18596932371))

2 qq号

javascript 复制代码
let r2 = /^[1-9][0-9]{4,9}$/g
console.log(r2.exec(123456))

3 十六进制的方式表示颜色

javascript 复制代码
let r3 = /^#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/g    // # 可能可有可无,如果不需要#,可以在#后面加个 ?
// let r4 = /^#?([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/g
console.log(r3.exec('#000'))

4 邮箱 (要求只允许qq 、163、gmail这三种邮箱地址)

javascript 复制代码
let r5 = /^[\w-]+(\.[\w-]+)*@(qq|163|gmail)(\.[\w-]+)+$/g
console.log(r5.exec('123456789@qq.com'))

5 url地址 (有不同的协议:http、https、ftp、file...)

javascript 复制代码
// 也需要将// 通过转义字符转义
let r6 = /^((https?|ftp|file):\/\/)?([\da-z\.\-]+)\.([a-z\.]{2-6})([\/\w\.\-]*)*\/?$/g
console.log(r6.exec('https://www.bilibili.com/danlaoshi/666/'))

6 匹配HTML标签

javascript 复制代码
let r7 = /^<([a-z]+)([^>]+)*(>(.*)<\/\1>|\s+\/>)$/g    // \数字表示引用前面小括号包裹起来的组

7 匹配ip地址(IPV4)

javascript 复制代码
// 255.255.255.255
// 192.1.14.116
// 5.13.123.2
let r8 = /^(([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\.){3}([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])$/g

8 匹配日期(年-月-日)

javascript 复制代码
let r9 = /^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|12[0-9]|3[01])$/g

9 匹配各个省直辖市的车牌

javascript 复制代码
let r10 = /^[京津冀晋蒙辽吉黑沪苏浙皖闽赣鲁豫鄂湘粤桂琼渝川蜀黔贵滇云藏陕秦甘陇青宁新A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/g

10 匹配18位的身份证

javascript 复制代码
let r11 = /^[1-9][0-9]{5}(18|19|([23][0-9]))[0-9]{2}(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01])[0-9]{3}[0-9Xx]$/g
相关推荐
JieE2127 小时前
LeetCode 101. 对称二叉树|JS 递归 + 迭代双解法,彻底搞懂镜像判断
javascript·算法
冬奇Lab9 小时前
AI Workflow 定义的四次演进:从 Markdown 到 JS 脚本,再到分布式多 Agent
javascript·人工智能·agent
一颗烂土豆15 小时前
Meshopt 压缩深度解析,为什么它比 Draco 更快
前端·javascript·webgl
kyriewen17 小时前
同事每天催我 Code Review,我写了个脚本让 AI 替我 review PR——现在他反过来催 AI 了
前端·javascript·ai编程
weedsfly20 小时前
迭代器、生成器与异步迭代——让数据“按需流动”的艺术
前端·javascript
假如让我当三天老蒯20 小时前
前端跨域解决方案(学习用)
前端·javascript·面试
铁皮饭盒1 天前
Bun 哪比 Node.js 快?
javascript·后端
JieE2121 天前
LeetCode 56. 合并区间|超清晰 JS 图解思路,面试高频区间题
javascript·算法·面试
candyTong1 天前
RTK 技术原理:一次典型会话里,80% 上下文是怎么省下来的
javascript·后端·架构
_柳青杨2 天前
深入理解 JavaScript 事件循环
前端·javascript