邮箱验证使用基础正则 /^[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正则可提升校验可靠性。

表单验证是前端开发中不可或缺的一环,J*aScript 正则表达式(RegExp)在其中扮演着关键角色。通过合理使用正则,可以高效校验用户输入的格式是否合规。下面整理几种常见场景下的正则验证技巧,帮助你在实际项目中快速上手。
邮箱是表单中最常见的字段之一,其格式有一定规范:由字母、数字、点、下划线和连字符组成,中间有一个 @ 符号,后跟域名。
// 基础但实用的邮箱正则const emailRegex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$/;
使用方式:
if (emailRegex.test("user@example.com")) {
console.log("邮箱格式正确");
}
中国大陆手机号通常为 11 位,以 1 开头,第二位通常是 3-9。
// 匹配主流运营商号码段const phoneRegex = /^1[3-9]d{9}$/;
示例:
if (phoneRegex.test("13812345678")) {
console.log("手机号有效");
}
安全密码通常要求包含大小写字母、数字、特殊字符中的至少三项,且长度不少于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
中国大陆身份证为18位,前17位为数字,最后一位可能是数字或X。
Visla
AI视频生成器,快速轻松地将您的想法转化为视觉上令人惊叹的视频。
100
查看详情
// 简化版正则,适用于基本格式校验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位:顺序码与校验码
中文姓名通常由2-4个汉字组成,允许复姓或双名。
const nameRegex = /^[u4e00-u9fa5]{2,4}$/;
使用:
nameRegex.test("张三") → true
nameRegex.test("欧阳小明") → true
nameRegex.test("Li") → false
验证用户输入的是否为合法网址,支持 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最佳实践:动态组件状态管理的组件化方案