JavaScript 正则表达式实战:密码强度、金额验证等
195 浏览量
更新于2024-08-28
收藏 77KB PDF 举报
"这篇资源汇总了JavaScript中常用的正则表达式,包括密码强度校验、金额校验、IE版本检测、IPv4和IPv6的验证等。这些正则表达式可以帮助开发者快速有效地进行数据格式的验证,提高开发效率。"
在JavaScript中,正则表达式是一种强大的工具,用于匹配字符串中的模式。以下是一些关键知识点:
1. **日期格式校验**:通过正则表达式`/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/`可以校验基本的日期格式,例如"2017/12/10"。这个表达式匹配4位数的年份、月份和日期,允许月份和日期之间使用"/"或"-"。
2. **密码强度校验**:对于一个强密码,需要包含大小写字母和数字,且长度在8-10之间。对应的正则表达式是`^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$`。其中`(?=.*\\d)`确保至少有一个数字,`(?=.*[a-z])`确保至少有一个小写字母,`(?=.*[A-Z])`确保至少有一个大写字母,`.{8,10}`限制长度。
3. **中文字符校验**:如果需要验证字符串是否只包含中文,可以使用`^[\\u4e00-\\u9fa5]{0,}$`。这个表达式匹配Unicode编码范围内的中文字符。
4. **英文或数字组成的字符串**:如果需要验证字符串由26个英文字母或数字组成,可以使用`^\\w+$`,其中`\\w`代表字母或数字。
5. **E-Mail地址校验**:邮箱地址的验证比较复杂,可以使用`[\\w!#$%&”*+/=?^_`{|}~-]+(?:\\.[\\w!#$%&”*+/=?^_`{|}~-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[\\w](?:[\\w-]*[\\w])?`来匹配常见的邮箱格式。
6. **身份证号码校验**:中国的15位和18位身份证号码可以分别使用`^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$`和`^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$`进行校验。
7. **日期格式校验**:针对"yyyy-mm-dd"格式的日期,可以使用`^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$`进行校验,同时考虑了平年和闰年的2月天数。
8. **金额校验**:对于精确到两位小数的金额,可以使用`^[0-9]+(.[0-9]{2})?$`。这个表达式允许整数部分,以及最多两位小数。
9. **手机号码校验**:在中国,手机号码通常以11位数字组成,具体校验规则可能因运营商而异,但一个通用的正则表达式可能是`^1[3-9]\\d{9}$`,它匹配以1开头,第二位不为0,且后面跟着9位数字的手机号。
以上就是JS中常见的正则表达式应用场景,掌握这些表达式能帮助开发者更有效地处理数据格式验证,提高代码质量。在实际开发中,还可以根据具体需求对这些基础表达式进行微调。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2023-05-09 上传
2021-01-18 上传
2020-10-30 上传
2023-09-07 上传
2020-10-18 上传
weixin_38518638
- 粉丝: 3
- 资源: 932
最新资源
- FLASH四宝贝之-使用ActionScript.3.0组件.pdf
- Linux Appliance Design
- 研究论文 英文版 嵌入式系统方向 Embedded Systems Building Blocks.pdf
- 新东方英语词根词缀记忆大全(整理打印版)最有效的背单词方法.pdf
- PIC 单片机的C 语言编程
- 电脑超级技巧3000招
- 如何成为一位杰出的工程师.
- 嵌入式处理器中嵌入式ICE的设计
- C语言学习100例实例程序.pdf
- Linux系统指令大全
- 编程精粹Microsoft编写优质无错C程序秘诀
- C++语言课程设计任务书
- Shaderx3-Advanced-Rendering-With-Directx-and-Opengl-Shaderx
- ENC28J60中文手册
- RCNA锐捷命令大全
- c#教程 简单实用,入门级的指导书