掌握30种正则表达式:数字、字符、邮箱与复杂验证规则
需积分: 5 63 浏览量
更新于2024-08-05
收藏 17KB DOCX 举报
正则表达式是一种强大的文本处理工具,用于匹配、查找和替换字符串中的特定模式。本文档涵盖了正则表达式的多种方法,特别关注了数字、字符类型和浮点数的验证规则,以及一些常用的检验标准,以便于开发者在实际场景中快速应用。
1. **数字类型**:
- 数字的通用表达式是 `^[0-9]*$`,表示任意数量的数字。
- n位数字的正则是 `^\d{n}$`,确保字符串恰好有n个数字。
- 至少n位数字用 `^\d{n,}`,允许任何长度的至少n位数字。
- m-n位数字用 `^\d{m,n}`,限定在m到n位之间的数字。
2. **浮点数类型**:
- 浮点数的正则表达式有 `^(-?\d+)(\.\d+)?$` 和 `^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$`,分别处理整数部分和小数部分。
3. **字符类型**:
- 汉字使用 `^[\u4e00-\u9fa5]{0,}$`,匹配任何Unicode范围内的汉字。
- 英文和数字:`^[A-Za-z0-9]+$` 或 `^[A-Za-z0-9]{4,40}`,适用于字母和数字组合。
- 长度限制:`^.{3,20}$`,限制在3到20个字符之间。
- 26个英文字母组成的字符串:`^[A-Za-z]+$`。
- 数字、字母和下划线:`\w+` 或 `\w{3,20}`。
4. **特殊字符**:
- 包含特殊字符:`[^%&',;=?$\"]+`,允许除指定字符外的任何字符。
- 禁止特定字符:`[^~\x22]+`,排除~字符。
5. **验证特定格式的字符串**:
- Email地址:`^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$`,遵循标准邮箱格式。
- 域名:`[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.\?`。
- Internet URL:`[a-zA-z]+://[^\s]*` 或 `^http(s)?://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$`。
- 电话号码:支持多种格式,如11位手机号、7-8位区号加7-8位号码等。
- 身份证号:15位、18位数字,校验位可为数字或字符X。
6. **密码验证**:
- 强密码(必须包含大小写字母、数字且无特殊字符):`^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,10}$`。
- 强密码(包含大小写字母、数字,可使用特殊字符):更宽松的正则表达式。
这些正则表达式是开发人员进行数据验证、数据清洗或用户输入检查时的实用工具,通过合理的组合和定制,可以满足各种复杂的格式验证需求。理解并熟练运用正则表达式能够大大提高代码的效率和准确性。
2009-07-07 上传
2020-08-31 上传
2020-08-27 上传
2012-12-20 上传
2019-07-24 上传
2023-06-15 上传
2013-08-02 上传
2020-12-10 上传
274 浏览量
THIM
- 粉丝: 166
- 资源: 20
最新资源
- 单片机串口通信仿真与代码实现详解
- LVGL GUI-Guider工具:设计并仿真LVGL界面
- Unity3D魔幻风格游戏UI界面与按钮图标素材详解
- MFC VC++实现串口温度数据显示源代码分析
- JEE培训项目:jee-todolist深度解析
- 74LS138译码器在单片机应用中的实现方法
- Android平台的动物象棋游戏应用开发
- C++系统测试项目:毕业设计与课程实践指南
- WZYAVPlayer:一个适用于iOS的视频播放控件
- ASP实现校园学生信息在线管理系统设计与实践
- 使用node-webkit和AngularJS打造跨平台桌面应用
- C#实现递归绘制圆形的探索
- C++语言项目开发:烟花效果动画实现
- 高效子网掩码计算器:网络工具中的必备应用
- 用Django构建个人博客网站的学习之旅
- SpringBoot微服务搭建与Spring Cloud实践