JS正则表达式校验函数大全
110 浏览量
更新于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`,表示验证失败。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2010-05-10 上传
521 浏览量
2008-11-12 上传
2007-10-19 上传
2018-11-07 上传
点击了解资源详情
weixin_38508549
- 粉丝: 5
- 资源: 917
最新资源
- 火炬连体网络在MNIST的2D嵌入实现示例
- Angular插件增强Application Insights JavaScript SDK功能
- 实时三维重建:InfiniTAM的ros驱动应用
- Spring与Mybatis整合的配置与实践
- Vozy前端技术测试深入体验与模板参考
- React应用实现语音转文字功能介绍
- PHPMailer-6.6.4: PHP邮件收发类库的详细介绍
- Felineboard:为猫主人设计的交互式仪表板
- PGRFileManager:功能强大的开源Ajax文件管理器
- Pytest-Html定制测试报告与源代码封装教程
- Angular开发与部署指南:从创建到测试
- BASIC-BINARY-IPC系统:进程间通信的非阻塞接口
- LTK3D: Common Lisp中的基础3D图形实现
- Timer-Counter-Lister:官方源代码及更新发布
- Galaxia REST API:面向地球问题的解决方案
- Node.js模块:随机动物实例教程与源码解析