信息发布→ 登录 注册 退出

JS正则表达式实战_表单验证技巧合集

发布时间:2025-11-16

点击量:
邮箱验证使用基础正则 /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$/ 覆盖常见格式;2. 手机号用 /^1[3-9]\d{9}$/ 匹配大陆主流号段;3. 密码需至少8位并包含大小写、数字、特殊字符中三项,通过分步正则检测;4. 身份证采用简化正则 /^[1-9]d{5}[1-9]d{3}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}(d|X)$/ 校验18位结构;5. 中文姓名用 /^[\u4e00-\u9fa5]{2,4}$/ 限制2-4个汉字;6. URL 用 /^https?://(?:[-w.]|(?:%[da-fA-F]{2}))+/ 验证http/https开头。结合HTML5表单属性与JS正则可提升校验可靠性。

js正则表达式实战_表单验证技巧合集

表单验证是前端开发中不可或缺的一环,J*aScript 正则表达式(RegExp)在其中扮演着关键角色。通过合理使用正则,可以高效校验用户输入的格式是否合规。下面整理几种常见场景下的正则验证技巧,帮助你在实际项目中快速上手。

1. 邮箱格式验证

邮箱是表单中最常见的字段之一,其格式有一定规范:由字母、数字、点、下划线和连字符组成,中间有一个 @ 符号,后跟域名。

// 基础但实用的邮箱正则

const emailRegex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$/;

使用方式:

if (emailRegex.test("user@example.com")) {
  console.log("邮箱格式正确");
}

// 注意:此正则覆盖大多数常见情况,极端合法邮箱可能不匹配,但对一般业务足够

2. 手机号码验证(中国大陆)

中国大陆手机号通常为 11 位,以 1 开头,第二位通常是 3-9。

// 匹配主流运营商号码段

const phoneRegex = /^1[3-9]d{9}$/;

示例:

if (phoneRegex.test("13812345678")) {
  console.log("手机号有效");
}

// 可根据需要扩展虚拟运营商号段(如 170、171 等)

3. 密码强度校验

安全密码通常要求包含大小写字母、数字、特殊字符中的至少三项,且长度不少于8位。

// 分步检查更清晰

function validatePassword(pwd) {
  let count = 0;
  if (/(?=.*[a-z])/.test(pwd)) count++;
  if (/(?=.*[A-Z])/.test(pwd)) count++;
  if (/(?=.*d)/.test(pwd)) count++;
  if (/(?=.*[@$!%*?&])/.test(pwd)) count++;
  return pwd.length >= 8 && count >= 3;
}

调用:
validatePassword("MyPass123!") → true

4. 身份证号码校验(18位)

中国大陆身份证为18位,前17位为数字,最后一位可能是数字或X。

Visla Visla

AI视频生成器,快速轻松地将您的想法转化为视觉上令人惊叹的视频。

Visla 100 查看详情 Visla // 简化版正则,适用于基本格式校验

const idCardRegex = /^[1-9]d{5}[1-9]d{3}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}(d|X)$/;

说明:
- 前6位:地区编码
- 中间8位:出生年月日
- 后4位:顺序码与校验码

// 如需严格校验,建议结合算法验证出生日期和校验位

5. 中文姓名验证

中文姓名通常由2-4个汉字组成,允许复姓或双名。

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

使用:

nameRegex.test("张三") → true
nameRegex.test("欧阳小明") → true
nameRegex.test("Li") → false

6. URL 地址校验

验证用户输入的是否为合法网址,支持 http/https。

const urlRegex = /^https?://(?:[-w.]|(?:%[da-fA-F]{2}))+/;

注意点:
- 必须以 http:// 或 https:// 开头
- 不强制完整域名结构,避免过于复杂

进阶可使用更完整的正则或浏览器内置 URL 构造函数辅助判断。

基本上就这些。正则表达式虽强大,但也别过度依赖复杂模式。结合语义判断和用户体验,分步校验往往更可靠。实际开发中,建议配合 HTML5 的 input 类型(如 type="email")和 required 属性,再用 JS 正则做深度控制,效果更佳。

以上就是JS正则表达式实战_表单验证技巧合集的详细内容,更多请关注其它相关文章!


相关文章: 韩小圈电脑版在线入口_网页版免费登录地址  企业名称高精度匹配:N-gram方法在结构相似性分析中的应用  XML中包含HTML标签导致解析错误? 正确嵌入非XML数据的两种方法  c++如何使用折叠表达式(Fold Expressions)_c++17可变参数模板新技巧  使用CSS更改登录屏幕输入框中PNG图标颜色的策略与局限性  Mac终端命令大全_Mac常用Terminal指令速查  高德地图沿途添加点失败如何解决 高德多点规划方法  sublime怎么格式化代码_sublime代码美化与一键排版插件配置  Lar*el 递归关系中排除指定分支的教程  为什么我的微信朋友圈看不到别人的更新_微信朋友圈更新显示异常解决方法  Python:递归比较文件夹内容并找出特定类型文件的差异  淘宝支付提示失败如何解决 淘宝支付流程优化方法  Go语言中JSON数据解码与字段访问指南  J*aScript中在Map循环中检测并处理空数组元素  Win10双系统截图高效法 截屏快捷键速记【技巧】  漫蛙manwa2最新登录网址_漫蛙manwa2手机网页版入口  解决macOS Tkinter应用双击启动崩溃:PyInstaller打包指南  sublime如何处理大型CSV文件的列对齐_sublime高级表格编辑插件指南  Win11 BitLocker密码忘了怎么办 Win11找回BitLocker恢复密钥方法【解决】  CSS布局中意外空白:解决padding-top导致的顶部间距问题  优化Django表单:提交验证失败后保留用户输入  格力空气能E5故障代码是什么情况_格力空气能E5代码解析与应对措施  Safari怎么安装扩展程序 浏览器插件安装与管理方法【详解】  AO3网页版合集入口 Archive of Our Own同人作品浏览指南  J*a ArrayList索引越界异常:动态构建列数据的高效策略  Centos/Linux 系统下安装 composer 的完整步骤  微博网页版怎么开启两步验证_微博网页版账号安全两步验证设置方法  Typer应用中灵活处理命令行参数的令牌化与解析  微信客户端如何收红包_微信客户端接收红包使用教程  自定义 WooCommerce 购物车:始终显示全部交叉销售商品  Steam官网入口直达 Steam注册及登录步骤  poki网页游戏推荐_poki免费游戏平台入口  自动化J*a应用中GitHub CLI或REST API的认证与交互  谷歌浏览器最新官方入口链接 谷歌浏览器网页版官网导航  AO3同人作品网入口 AO3搜索引擎官网永久地址  Sublime Text怎么设置垂直标尺_Sublime配置Rulers规范代码长度  晋江读书网页版在线登录 晋江读书电脑版官网  UC浏览器网页版登录入口官网 电脑版网址入口  Excel组合图表怎么做 Excel创建柱状图与折线组合图教程【图表】  AI抖音网页版免费视频入口 AI抖音网页端最新视频实时观看  如何在Python中使用Optional类型处理可变对象并避免Pylint警告  Go语言中JSON数据解析与字段访问教程  PHP中获取MongoDB服务器运行时间(Uptime)的专业指南  2025-2030年全球乘用车销量预测:新能源成增长主力  小红书商家版怎样在笔记嵌入商品卡路径_小红书商家版在笔记嵌入商品卡路径【挂载教程】  《北京人工智能产业白皮书(2025)》发布:全年核心产值预计突破 4500 亿元  React Router 嵌套组件中 URL 重定向问题的解决方案  J*a 递归快速排序中静态变量的状态管理与陷阱  QQ邮箱登录官网首页 腾讯QQ邮箱网页入口  React Hooks最佳实践:动态组件状态管理的组件化方案 

在线客服
服务热线

服务热线

4008988990

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!