JavaScript正则表达式实战:验证数字、用户名、密码、电话和手机号
需积分: 3 54 浏览量
更新于2024-12-05
收藏 28KB TXT 举报
"JavaScript正则表达式用于字符串校验的实例"
在JavaScript中,正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配、查找、替换等操作。这里我们通过几个实例来深入理解其在字符串校验中的应用。
1. **检查数字串**:
函数`isDigit(s)` 使用正则表达式`/^[0-9]{1,20}$/'` 来判断输入的字符串`s` 是否由1到20个数字组成。`^` 表示匹配字符串的开始,`[0-9]` 是字符集,代表0到9的数字,`{1,20}` 指定重复次数,至少1次,最多20次,`$` 表示匹配字符串的结束。`exec()` 方法是用于在字符串中执行一个正则表达式,并返回匹配的结果。
2. **验证注册用户名**:
`isRegisterUserName(s)` 验证用户名是否以字母开头,后跟4到19个字母、数字、下划线或点。正则表达式`/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/'` 中,`[a-zA-Z0-9]|[._]` 匹配字母、数字、下划线或点。
3. **验证真实姓名**:
`isTrueName(s)` 检查名字是否由1到30个字母组成,`/^[a-zA-Z]{1,30}$/'` 用于确保字符串仅包含字母。
4. **验证密码**:
`isPasswd(s)` 确保密码由6到20个任何字符(包括字母、数字和特殊字符)组成。正则表达式`/^(\w){6,20}$/'` 中,`\w` 是所有字母数字字符的缩写,等同于 `[a-zA-Z0-9_]`。
5. **验证电话号码**:
`isTel(s)` 用于检查电话号码,原始正则表达式有误,修正后的`/^[+]{0,1}(\d){1,3}[]?([-]?((\d)|[]){1,12})+$/` 包含国际区号,允许0到1个"+",1到3个数字,接着可选的空格,然后是任意数量的数字或空格,总共1到12位。`[-]` 允许出现破折号。
6. **验证手机号码**:
`isMobil(s)` 与电话号码的验证规则相同,使用了相同的正则表达式。这可能需要根据具体国家的手机号码格式进行调整,但在这个例子中,它与电话号码的规则相同。
这些函数都是基于正则表达式执行匹配并返回结果,它们可以用于前端数据验证,防止无效的用户输入。了解并熟练使用正则表达式,对于编写高效且健壮的JavaScript代码至关重要。在实际开发中,根据需求调整正则表达式以满足特定的校验规则。
324 浏览量
236 浏览量
182 浏览量
2009-12-01 上传
2009-03-24 上传
2008-10-16 上传
126 浏览量
2025-01-07 上传
2025-01-07 上传
meng11yue
- 粉丝: 0
- 资源: 3
最新资源
- 酒店大堂装饰模型设计
- delivery-upptime:Math Mathieu Leplatre的正常运行时间监控器和状态页面,由@upptime提供支持
- ComputationalPhysics2019
- 神领物流 微服务项目实战-课程学习
- 非光学太阳能跟踪器(东塔2.4KW)-项目开发
- SpinConv:从旋转表示类型转换为另一种-matlab开发
- 现代简约沙发模型设计
- 临时岗位津贴申请单excel模版下载
- Calculadora
- Benchworks
- redis-lesson:我的laravel教程“带有Socket.io的实时Laravel”版本
- 圣诞节的漂亮小程序圣诞节漂亮的小程序
- trab_calc_num_ufsc:TrabalhoPrático1 deCálculoNúmerico
- 绿色田园家居模型
- 1D、2D 或 3D 中的拉普拉斯算子:具有精确特征对的矩形网格上的稀疏 (1-3)D 拉普拉斯算子。-matlab开发
- 正常运行时间:Jul Julien Jourdain的正常运行时间监控和状态页面,由@upptime提供支持