Web 前端常用正则校验规则

2023-11-13

Web 前端常用正则校验规则

作为 Web 前端开发,常用的正则校验规则有很多。下面是一些常见的示例:

1. 校验手机号码

手机号码的正则表达式可以根据不同国家和地区的手机号码格式进行调整。以下是中国大陆的手机号码正则表达式:

const regex = /^1[3456789]\d{9}$/;

在这个示例中,正则表达式 ^1[3456789]\d{9}$ 表示:

  • ^ 表示匹配字符串的开头。
  • 1 表示必须以数字 1 开头。
  • [3456789] 表示第二位必须是 3、4、5、6、7、8 或 9 中的一个。
  • \d{9} 表示后面必须跟着 9 个数字。
  • $ 表示匹配字符串的结尾。

2. 校验邮箱地址

邮箱地址的正则表达式可以根据不同的邮箱服务提供商进行调整。以下是一个通用的邮箱地址正则表达式:

const regex = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;

在这个示例中,正则表达式 ^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ 表示:

  • ^ 表示匹配字符串的开头。
  • \w+ 表示必须以一个或多个字母、数字或下划线开头。
  • ([-+.]\w+)* 表示可以包含一个或多个连字符、加号或点号,后面跟着一个或多个字母、数字或下划线。
  • @ 表示必须包含一个 @ 符号。
  • \w+ 表示必须包含一个或多个字母、数字或下划线。
  • ([-.]\w+)* 表示可以包含一个或多个连字符或点号,后面跟着一个或多个字母、数字或下划线。
  • \. 表示必须包含一个点号。
  • \w+ 表示必须包含一个或多个字母、数字或下划线。

3. 校验身份证号码

身份证号码的正则表达式可以根据不同的国家和地区进行调整。以下是中国大陆身份证号码的正则表达式:

const regex =
  /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}[0-9Xx]$/;

// 身份证号码为15位或18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X
// const regex = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;

在这个示例中,正则表达式 ^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}[0-9Xx]$ 表示:

  • ^ 表示匹配字符串的开头。
  • [1-9] 表示第一位必须是 1 到 9 中的一个。
  • \d{5} 表示后面必须跟着 5 个数字。
  • (19|20) 表示第七到第十位必须是 19 或 20。
  • \d{2} 表示第十一到第十二位必须是一个两位数字。
  • (0[1-9]|1[012]) 表示第十三到第十四位必须是 01 到 12 中的一个。
  • (0[1-9]|[12]\d|3[01]) 表示第十五到第十六位必须是 01 到 31 中的一个。
  • \d{3} 表示第十七到第十九位必须是三个数字。
  • [0-9Xx] 表示最后一位可以是数字或大写字母 X。

4. 校验密码强度

校验密码强度通常需要考虑密码的长度、字符类型和组合方式等因素。以下是一个简单的密码强度正则表达式,要求密码长度为 6 到 20 个字符,且必须包含字母和数字:

const regex = /^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]{6,20})$/;

在这个示例中,正则表达式 ^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]{6,20})$ 表示:

  • ^ 表示匹配字符串的开头。
  • (?=.*[0-9]) 表示必须包含至少一个数字。
  • (?=.*[a-zA-Z]) 表示必须包含至少一个字母。
  • ([a-zA-Z0-9]{6,20}) 表示密码长度必须为 6 到 20 个字符,且只能包含字母和数字。
  • $ 表示匹配字符串的结尾。

5. 校验 URL 地址

校验 URL 地址通常需要考虑 URL 的协议、主机名、端口和路径等部分。以下是一个简单的 URL 校验正则表达式:

const regex = /^(http|https):\/\/([\w-]+\.)+[\w-]+(:\d+)?(\/\S*)?$/;

// const regex =
//   /(((^https?:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+(?::\d+)?|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)$/;

在这个示例中,正则表达式 ^(http|https):\/\/([\w-]+\.)+[\w-]+(:\d+)?(\/\S*)?$ 表示:

  • ^ 表示匹配字符串的开头。
  • (http|https) 表示必须以 http 或 https 开头。
  • :\/\/ 表示匹配冒号和双斜杠。
  • ([\w-]+\.)+[\w-]+ 表示匹配主机名,必须包含至少一个连字符或字母,后面跟着一个或多个字母、数字或连字符。
  • (:\d+)? 表示匹配可选的端口号,必须以冒号和一个或多个数字结尾。
  • (\/\S*)? 表示匹配可选的路径,必须以斜杠开头,后面可以跟任意非空白字符。
  • $ 表示匹配字符串的结尾。

当然,还有一些其他常用的正则校验规则,例如:

6. 校验邮政编码

邮政编码的正则表达式可以根据不同的国家和地区进行调整。以下是中国大陆邮政编码的正则表达式:

const regex = /^[1-9]\d{5}$/;

在这个示例中,正则表达式 ^[1-9]\d{5}$ 表示:

  • ^ 表示匹配字符串的开头。
  • [1-9] 表示第一位必须是 1 到 9 中的一个。
  • \d{5} 表示后面必须跟着 5 个数字。
  • $ 表示匹配字符串的结尾。

7. 校验 IP 地址

IP 地址的正则表达式可以根据不同的 IP 地址格式进行调整。以下是一个简单的 IPv4 地址校验正则表达式:

const regex =
  /^([01]?\d{1,2}|2[0-4]\d|25[0-5])\.([01]?\d{1,2}|2[0-4]\d|25[0-5])\.([01]?\d{1,2}|2[0-4]\d|25[0-5])\.([01]?\d{1,2}|2[0-4]\d|25[0-5])$/;

在这个示例中,正则表达式 ^([01]?\d{1,2}|2[0-4]\d|25[0-5])\.([01]?\d{1,2}|2[0-4]\d|25[0-5])\.([01]?\d{1,2}|2[0-4]\d|25[0-5])\.([01]?\d{1,2}|2[0-4]\d|25[0-5])$ 表示:

  • ^ 表示匹配字符串的开头。
  • ([01]?\d{1,2}|2[0-4]\d|25[0-5]) 表示匹配 0 到 255 之间的数字。
  • \. 表示匹配点号。
  • $ 表示匹配字符串的结尾。

8. 校验护照号码

以下是中国大陆护照号码的正则表达式:

const regex = /^[EeGg]\d{8}$/;

在这个示例中,正则表达式 ^[EeGg]\d{8}$ 表示:

  • ^ 表示匹配字符串的开头。
  • [EeGg] 表示第一位必须是大写字母 E 或 G,或小写字母 e 或 g 中的一个。
  • \d{8} 表示后面必须跟着 8 个数字。
  • $ 表示匹配字符串的结尾。

9. 校验港澳通行证号码

以下是中国大陆港澳通行证号码的正则表达式:

const regex = /^[HMhm]\d{8}$/;

在这个示例中,正则表达式 ^[HMhm]\d{8}$ 表示:

  • ^ 表示匹配字符串的开头。
  • [HMhm] 表示第一位必须是大写字母 H 或 M,或小写字母 h 或 m 中的一个。
  • \d{8} 表示后面必须跟着 8 个数字。
  • $ 表示匹配字符串的结尾。

10. 校验中文名

中文名的正则表达式可以根据具体情况进行调整。以下是一个简单的中文名校验正则表达式,要求中文名只包含汉字:

const regex = /^[\u4e00-\u9fa5]{2,4}$/;

在这个示例中,正则表达式 ^[\u4e00-\u9fa5]{2,4}$ 表示:

  • ^ 表示匹配字符串的开头。
  • [\u4e00-\u9fa5] 表示匹配任意一个汉字。
  • {2,4} 表示匹配 2 到 4 个汉字。
  • $ 表示匹配字符串的结尾。

另外,如果要校验中文名中是否包含汉字以外的字符,可以使用类似于以下的正则表达式:

const regex = /^[\u4e00-\u9fa5·]{2,20}$/;

在这个示例中,正则表达式 ^[\u4e00-\u9fa5·]{2,20}$ 表示:

  • ^ 表示匹配字符串的开头。
  • [\u4e00-\u9fa5·] 表示匹配任意一个汉字或中文间隔符 “·”。
  • {2,20} 表示匹配 2 到 20 个汉字或中文间隔符 “·”。
  • $ 表示匹配字符串的结尾。

这个示例中使用了 “·” 作为中文名的间隔符,这是一种常见的方式,但并不是唯一正确的方式。在实际应用中,应根据具体情况选择合适的间隔符,并根据需要进行调整和优化。

11. 校验外国人居留证号码

以下是一个简单的外国人居留证校验正则表达式,要求居留证号码只包含英文字母和数字:

const regex = /^[A-Za-z0-9]{8,20}$/;

在这个示例中,正则表达式 ^[A-Za-z0-9]{8,20}$ 表示:

  • ^ 表示匹配字符串的开头。
  • [A-Za-z0-9] 表示匹配任意一个英文字母或数字。
  • {8,20} 表示匹配 8 到 20 个英文字母或数字。
  • $ 表示匹配字符串的结尾。

12. 校验只允许字母和数字

只允许字母和数字的正则表达式如下:

const regex = /^[A-Za-z0-9]+$/;

在这个示例中,正则表达式 ^[A-Za-z0-9]+$ 表示:

  • ^ 表示匹配字符串的开头。
  • [A-Za-z0-9] 表示匹配任意一个英文字母或数字。
  • + 表示匹配前面的字符至少一次或多次。
  • $ 表示匹配字符串的结尾。

这个正则表达式可以用来校验只包含字母和数字的字符串,例如用户名、密码等。需要注意的是,这个正则表达式不包括空格和其他特殊字符。如果需要校验包括空格和其他特殊字符的字符串,可以根据具体情况进行调整和优化。

13. 校验首位不为零的数字

首位不为零的数字的正则表达式如下:

const regex = /^[1-9]\d*$/;

在这个示例中,正则表达式 ^[1-9]\d*$ 表示:

  • ^ 表示匹配字符串的开头。
  • [1-9] 表示第一位必须是 1 到 9 中的一个。
  • \d* 表示后面可以跟着任意个数字(包括零个数字)。
  • $ 表示匹配字符串的结尾。

这个正则表达式可以用来校验整数,要求整数的首位必须是 1 到 9 中的一个,可以包含多个数字。此外,这个正则表达式不包括小数和负数,如果需要校验包括小数和负数的数字,可以根据具体情况进行调整和优化。

需要注意的是,以上示例只是常用的正则校验规则之一,实际应用中可能需要根据具体的业务需求进行调整和优化。同时,正则表达式的编写也需要考虑到性能和可读性等方面的因素。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Web 前端常用正则校验规则 的相关文章

随机推荐

  • hive add jar 报java.net.UnknownHostException: user错误

    hive gt add jar hdfs mypath myjar jar java net UnknownHostException user Query returned non zero code 1 cause java net U
  • v3s 荔枝派zero开发板 添加 ov2640 摄像头(一)

    1 准备 储备知识 1 DVP是并口传输 速度较慢 传输的带宽低 使用需要PCLK sensor输出时钟 MCLK XCLK 外部时钟输入 VSYNC 场同步 HSYNC 行同步 D 0 11 并口数据 可以是8 10 12bit数据位数大
  • LA@n维向量@解析几何向量和线性代数向量

    文章目录 概念 n维向量 向量类型 实向量和复向量 行向量和列向量 行列向量的转换 特殊向量 向量运算 矩阵的向量分块 解析几何向量和线性代数向量 向量空间 n n n维向量空间
  • JSONObject详解

    JSONObject只是一种数据结构 可以理解为JSON格式的数据结构 key value 结构 可以使用put方法给json对象添加元素 JSONObject可以很方便的转换成字符串 也可以很方便的把其他对象转换成JSONObject对象
  • 微服务架构的主要优势是什么

    微服务架构提供了几个关键优势 使其成为设计和构建应用程序的流行选择 以下是微服务架构的一些显着优势 可扩展性 微服务架构允许单个服务根据其特定需求独立扩展 这种可扩展性可实现高效的资源利用 并能够通过仅扩展必要的服务来处理高流量负载 它可以
  • Kbuild系统源码分析(五)—模块的编译流程

    版权声明 本文为CSDN博主 ashimida 的原创文章 遵循CC 4 0 BY SA版权协议 转载请附上原文出处链接及本声明 原文链接 https blog csdn net lidan113lidan article details
  • 手机黑屏摄像app_手机黑屏摄像软件下载-手机黑屏摄像持续拍摄app1.3安卓版下载_骑士下载...

    手机黑屏摄像持续拍摄app这是一款支持黑屏状态下拍摄的软件 如果你有这方面的需要 可以来试试的 不会让人发现你在拍摄 软件中有黑屏模式 你打开就可以了 使用起来简单 操作也方便 需要的朋友赶紧下载试试吧 软件介绍 能够根据手机上黑屏状态下还
  • 实践指南-前端性能提升 270%

    一 背景 当我们疲于开发一个接一个的需求时 很容易忘记去关注网站的性能 到了某一个节点 猛地发现 随着越来越多代码的堆积 网站变得越来越慢 本文就是从这样的一个背景出发 着手优化网站的前端性能 并总结出一套开发习惯 让我们在日常开发时 也保
  • 无网环境下安装Mysql8.0

    在redhat7 6操作系统上安装mysql8 0服务 服务器只有内网 没有外网 记录一下安装过程 一 软件准备 1 1 下载mysql安装包 下载地址 https dev mysql com downloads mysql 1 2 准备依
  • Vue3 ERROR Error: Cannot find module ‘vue-loader-v16/package.json‘

    Vue3 ERROR Error Cannot find module vue loader v16 package json Vue3 npm run serve错误 1 主要错误信息 2 Vue3项目 运行环境 3 Vue3项目运行操作
  • 金山办公慢下来了?

    大数据产业创新服务媒体 聚焦数据 改变商业 只有长期主义者 才能成为时间的朋友 在笔者看来 越来越向SaaS模式倾斜的金山办公便是 长期主义 的代表之一 近日 金山办公 股票代码 688111 发布2023年半年度报告 报告显示 2023上
  • 如何用python提取音频

    可以使用 Python 的多种库来提取音频 其中一种方法是使用 ffmpeg 库 首先 需要安装 ffmpeg 库 可以使用以下命令进行安装 pipinstall ffmpeg 然后 可以使用以下代码来提取音频 import ffmpeg
  • 一个在ASP.NET中利用服务器控件GridView实现数据增删改查的例子

    备注 这是我辅导的一个项目开发组的一个例子 用文章的方式分享出来 给更多的朋友参考 其实我们这几年的项目中 都不怎么使用服务器控件的形式了 而是更多的采用MVC这种开发模式 但是 如果项目的历史背景是用服务器控件的 也不妨继续沿用 以免变动
  • Rust引入外部包,VsCode引入失败,Blocking waiting for file lock on package cache lock

    引入外部包出错的解决方法 VsCode导入包后一直转圈 首先要停掉Rust server Ctrl Shift P 快捷键 输入Stop那个 停掉服务 改用命令行 像这样 可以看到它说 Blocking waiting for file l
  • ChatGLM环境配置

    目的 ChatGPT令人震撼的冲击下 笔者转向NLM的Transformer模型 ChatGLM作为清华开源的大语言模型 笔者尝试了其环境配置 为相关理论学习奠定基础 本文用于备忘与学习 无商业用途 参考 ChatGLM的源码下载链接 Gi
  • 总结24个Python接单赚钱的平台,兼职月入5000+

    如果说当下什么编程语言最靠谱或者比较适合搞副业 答案肯定100 是 Python python是所有语法中最简单易上手的语言 不需要特别的的英语词汇量 逻辑思维也不需要很差就能上手 而且学会了之后就能编写代码爬取各种数据 制作各种图表 提升
  • Android学习路线

    Android学习路线 绝对干货
  • CVE-2021-44228-log4j2复现详细版本-简单教程。

    0x01 前言 昨晚爆出的log4j rce 是通过lookup触发的漏洞 但jdk1 8 191以上默认不支持ldap协议 对于高版本jdk 则需要一定的依赖 不过为了给大家最简单的说明 我这里还是用jdk1 8 144的版本来运行 0x
  • Pytorch-torch.nn.identity()方法详解

    Pytorch torch nn identity 方法详解 identity模块不改变输入 直接return input 一种编码技巧吧 比如我们要加深网络 有些层是不改变输入数据的维度的 在增减网络的过程中我们就可以用identity占
  • Web 前端常用正则校验规则

    Web 前端常用正则校验规则 作为 Web 前端开发 常用的正则校验规则有很多 下面是一些常见的示例 1 校验手机号码 手机号码的正则表达式可以根据不同国家和地区的手机号码格式进行调整 以下是中国大陆的手机号码正则表达式 const reg