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
相关推荐
丷丩2 小时前
MapLibre GL JS第19课:实时更新要素
前端·javascript·gis·map·mapbox·maplibre gl js
xiaohua0708day3 小时前
Lodash库
前端·javascript·vue.js
突然好热3 小时前
TS 调试技巧
前端·javascript·typescript
h64648564h3 小时前
Flutter 国际化(i18n)全指南:一键切换中/英/日多语言
前端·javascript·flutter
丷丩5 小时前
MapLibre GL JS第8课:禁用滚动缩放
javascript·mapbox·maplibre gl js
kyriewen6 小时前
面试8家前端岗位后,我发现了一个残酷的事实:AI不是加分项,是门槛
前端·javascript·面试
MageGojo9 小时前
做节日活动页时,如何用 API 快速生成对联内容
javascript·python·节日·对联生成
向上的车轮9 小时前
Next.js 入门指南:从零到一构建全栈应用
开发语言·javascript·ecmascript
freeinlife'9 小时前
精准秒表计时器实现---基于js
开发语言·前端·javascript
优雅格子衫10 小时前
uniapp 拍照相册选取后超级好用的裁剪组件,增加水印完全自定义
开发语言·前端·javascript·uni-app·vue