JS常用正则表达式汇总
### JS常用正则表达式汇总 #### 一、概述 在JavaScript编程中,正则表达式是一种非常强大的工具,用于处理字符串数据。本文档汇总了一系列常用的正则表达式及其应用场景,特别聚焦于表单验证方面。这些正则表达式不仅能够帮助开发者确保用户输入的数据格式正确,还能提高用户体验,避免无效数据的提交。 #### 二、知识点详解 ##### 1. 验证Email格式 **用途**:检查输入的Email信箱格式是否正确。 **输入**:`strEmail` — 字符串。 **返回**:如果通过验证返回 `true`,否则返回 `false`。 **代码示例**: ```javascript function checkEmail(strEmail) { var emailReg = /^[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)*@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/; if (emailReg.test(strEmail)) { return true; } else { alert("您输入的Email地址格式不正确!"); return false; } } ``` **解析**: - 正则表达式 `^[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)*@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$` 的解释如下: - `^`:表示字符串的开始。 - `[a-zA-Z0-9_-]+`:表示用户名部分由一个或多个字母(大小写)、数字、下划线或短横线组成。 - `(\.[a-zA-Z0-9_-]+)*`:表示可以有零个或多个“.”后跟字母、数字、下划线或短横线的组合。 - `@`:邮箱必须包含符号 “@”。 - `[a-zA-Z0-9_-]+`:表示域名部分由一个或多个字母、数字、下划线或短横线组成。 - `(\.[a-zA-Z0-9_-]+)+`:表示域名可以包含一个或多个由 “.” 分隔的部分,每个部分都由字母、数字、下划线或短横线组成。 - `$`:表示字符串的结束。 **注意事项**: - 这个正则表达式相对宽松,可以接受如 `.com`、`.co.uk` 等多种顶级域名。 - 如果需要更严格的验证规则,可以进一步修改正则表达式。 --- ##### 2. 验证IP地址格式 **用途**:校验IP地址的格式。 **输入**:`strIP` — IP地址。 **返回**:如果通过验证返回 `true`,否则返回 `false`。 **代码示例**: ```javascript function isIP(strIP) { if (isNull(strIP)) { return false; } var re = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/; if (re.test(strIP)) { if (RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256 && RegExp.$4 < 256) { return true; } } return false; } ``` **解析**: - 正则表达式 `/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/` 的解释如下: - `^`:表示字符串的开始。 - `(\d+)`:表示每一个段由一个或多个数字组成。 - `\.(\d+)`:表示每一段之间用 “.” 分隔。 - `$`:表示字符串的结束。 **注意事项**: - 这个正则表达式只验证了 IP 地址是否由四个数字段组成,并且每段不超过 255。 - 没有对每段数字的具体范围进行限制,如果需要更加精确的验证,则需要增加对每段数字范围的判断。 --- ##### 3. 验证手机号码格式 **用途**:检查输入手机号码是否正确。 **输入**:`strMobile` — 字符串。 **返回**:如果通过验证返回 `true`,否则返回 `false`。 **代码示例**: ```javascript function checkMobile(strMobile) { var regu = /^[1][3-9]\d{9}$/; var re = new RegExp(regu); if (re.test(strMobile)) { return true; } else { return false; } } ``` **解析**: - 正则表达式 `/^[1][3-9]\d{9}$/` 的解释如下: - `^`:表示字符串的开始。 - `[1]`:表示手机号码必须以数字 1 开头。 - `[3-9]`:表示第二位数字必须是 3 至 9 之间的任意一个数字。 - `\d{9}`:表示接下来的九位数字。 - `$`:表示字符串的结束。 **注意事项**: - 该正则表达式假设手机号码必须以 1 开头,且第二位数字必须是 3 至 9 之间的任意一个数字。这通常适用于中国大陆的手机号码格式。 --- ##### 4. 验证电话号码格式 **用途**:检查输入的电话号码格式是否正确。 **输入**:`strPhone` — 字符串。 **返回**:如果通过验证返回 `true`,否则返回 `false`。 **代码示例**: ```javascript function checkPhone(strPhone) { var phoneRegWithArea = /^[0][1-9]{2,3}-[0-9]{5,10}$/; var phoneRegNoArea = /^[1-9]{1}[0-9]{5,8}$/; var prompt = "您输入的电话号码不正确!"; if (strPhone.length > 9) { if (phoneRegWithArea.test(strPhone)) { return true; } else { alert(prompt); return false; } } else { if (phoneRegNoArea.test(strPhone)) { return true; } else { alert(prompt); return false; } } } ``` **解析**: - 正则表达式 `/^[0][1-9]{2,3}-[0-9]{5,10}$/` 用于匹配带区号的电话号码: - `^`:表示字符串的开始。 - `[0]`:表示电话号码必须以 0 开头。 - `[1-9]{2,3}`:表示区号由 2 至 3 位非零数字组成。 - `-`:表示区号与电话号码之间用 “-” 分隔。 - `[0-9]{5,10}`:表示电话号码由 5 至 10 位数字组成。 - `$`:表示字符串的结束。 - 正则表达式 `/^[1-9]{1}[0-9]{5,8}$/` 用于匹配不带区号的电话号码: - `^`:表示字符串的开始。 - `[1-9]{1}`:表示电话号码第一位是非零数字。 - `[0-9]{5,8}`:表示接下来由 5 至 8 位数字组成。 - `$`:表示字符串的结束。 **注意事项**: - 这里提供了两种不同格式的电话号码验证方式:一种是带有区号的,另一种是没有区号的。具体的格式可能因地区而异,可以根据实际需求调整正则表达式。 --- ##### 5. 验证字符串是否为空或全是空格 **用途**:检查输入字符串是否为空或者全部都是空格。 **输入**:`str`。 **返回**:如果全是空返回 `true`,否则返回 `false`。 **代码示例**: ```javascript function isNull(str) { if (str === "") { return true; } var regu = /^\s+$/; var re = new RegExp(regu); return re.test(str); } ``` **解析**: - 正则表达式 `/^\s+$/` 的解释如下: - `^`:表示字符串的开始。 - `\s+`:表示一个或多个空白字符。 - `$`:表示字符串的结束。 **注意事项**: - 这个函数可以用来快速判断一个字符串是否为空或只包含空白字符。 - 使用时需要注意字符串的前后是否有额外的空白字符。 --- 以上就是本次分享的一些常用的JavaScript正则表达式,它们可以帮助开发者更好地处理和验证用户的输入数据,从而提高程序的健壮性和安全性。希望这些知识点对你有所帮助!

- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- ctoc电子商务专题知识讲座.pptx
- C语言第7讲关系运算与逻辑运算if语句.ppt
- 基于单片机温度控制系统的设计.doc
- 基于AT89C52单片机的温室控制系统.doc
- 专题讲座资料(2021-2022年)单片机的红外防盗报警器.doc
- 购物网站策划书.doc
- 基于数据挖掘技术的负荷预测及主动设备维护可行性研究报告.doc
- 计算机教研组工作总结(2023年2023年第一学期).docx
- 【源版】第五章-数据库技术基础.ppt
- 工厂数字化网络监控系统解决方案.doc
- 网络谣言的传播与成因.ppt
- 基于GPS车辆跟踪系统的移动对象数据库应用研究.doc
- 光纤通信(第5版)课后习题答案要点.doc
- 高中数学第1章算法初步章末复习与总结课件新人教A版必修.ppt
- 网络研修学习总结.doc
- 中小型企业网站建设方案模板.doc


