JS正则表达式校验函数大全
119 浏览量
更新于2024-08-30
收藏 126KB PDF 举报
"这篇文档详细介绍了JavaScript中的正则表达式及其在验证各种输入格式时的应用,包括数字组成的字符串、登录用户名、用户姓名、密码、电话和传真号码、手机号码以及邮政编码的验证规则。"
在JavaScript中,正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配、查找、替换等操作。它由特定字符序列构成,可以用来验证字符串是否符合预定义的模式。以下是对给定代码中各个函数涉及的正则表达式知识点的详细解释:
1. **isDigit(s)**: 这个函数用于检查字符串`s`是否只包含1到20个数字。正则表达式`/^[0-9]{1,20}$/.`意味着字符串必须以一个到二十个数字开始(`^`表示开始)并结束(`$`表示结束),中间是零个或多个0到9的数字(`[0-9]`)。
2. **isRegisterUserName(s)**: 此函数验证登录用户名,要求长度为5-20个字符,以字母开头,可包含字母、数字、下划线或点号。正则表达式`/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/.`定义了以一个字母(`^[a-zA-Z]{1}`)开头,后跟4到19个字母、数字、下划线(`[._]`)的组合。
3. **isTrueName(s)**: 验证用户姓名,限制为1-30个字母。正则表达式`/^[a-zA-Z]{1,30}$/.`确保字符串以一个字母开始,后面跟着零到二十九个字母。
4. **isPasswd(s)**: 这个函数验证密码,要求包含6-20个字母、数字或下划线。正则表达式`/^(\w){6,20}$/.`中,`\w`代表任何字母、数字或下划线,所以`(\w){6,20}`意味着6到20个这样的字符。
5. **isTel(s)** 和 **isMobil(s)**: 这两个函数都用于验证电话和传真号码,允许以“+”开头,包含数字,可以有“-”分隔。它们的正则表达式几乎相同,但isMobil函数缺少对“+”的限制,可能是个错误。正则表达式`/^[+]{0,1}(\d){1,3}[]?([-]?((\d)|[]){1,12})+$/.`匹配一个可选的“+”,然后是一个到三个数字,接着是零个或多个空格或数字,中间可选地插入一个“-”。
6. **isPostalCode(s)**: 验证邮政编码,允许3-12个字母或数字。正则表达式`/^[a-zA-Z0-9]{3,12}$/.`匹配由3到12个字母或数字组成的字符串。
这些函数展示了正则表达式在实际应用中的灵活性和实用性,它们可以根据具体需求进行调整,以适应不同类型的输入验证。在JavaScript中,`exec()`方法用于在字符串中执行一个正则表达式,并返回匹配的结果。如果匹配成功,`exec()`会返回一个数组,包含匹配的子串;如果未找到匹配,它将返回`null`。在上述代码中,如果没有匹配,`if(!patrn.exec(s))`将返回`true`,表示验证失败。
2018-11-07 上传
2011-09-13 上传
521 浏览量
2010-05-10 上传
2008-11-12 上传
点击了解资源详情
weixin_38508549
- 粉丝: 5
- 资源: 917
最新资源
- 新代数控API接口实现CNC数据采集技术解析
- Java版Window任务管理器的设计与实现
- 响应式网页模板及前端源码合集:HTML、CSS、JS与H5
- 可爱贪吃蛇动画特效的Canvas实现教程
- 微信小程序婚礼邀请函教程
- SOCR UCLA WebGis修改:整合世界银行数据
- BUPT计网课程设计:实现具有中继转发功能的DNS服务器
- C# Winform记事本工具开发教程与功能介绍
- 移动端自适应H5网页模板与前端源码包
- Logadm日志管理工具:创建与删除日志条目的详细指南
- 双日记微信小程序开源项目-百度地图集成
- ThreeJS天空盒素材集锦 35+ 优质效果
- 百度地图Java源码深度解析:GoogleDapper中文翻译与应用
- Linux系统调查工具:BashScripts脚本集合
- Kubernetes v1.20 完整二进制安装指南与脚本
- 百度地图开发java源码-KSYMediaPlayerKit_Android库更新与使用说明