全面解析:正则表达式关键模式
需积分: 3 64 浏览量
更新于2024-10-26
收藏 8KB TXT 举报
本文主要介绍了正则表达式中的一些常用模式,这些模式涵盖了对数字、长度限制、字母组合、特殊字符、中文字符、邮箱、URL、电话号码、身份证号以及日期格式的验证。
1. 数字验证:
- 只能输入数字:`^[0-9]*$`,这个正则表达式只允许输入0-9之间的任意数量的数字,不允许其他字符。
- 只能输入n位的数字:`^\d{n}$`,例如`^\d{5}$`表示只允许输入五位数字。
- 只能输入至少n位的数字:`^\d{n,}$`,例如`^\d{5,}$`表示至少需要输入五位数字,可以更多。
- 只能输入m到n位的数字:`^\d{m,n}$`,例如`^\d{3,6}$`表示可以输入3到6位的数字。
2. 非负整数验证:
- 只能输入非负整数(包括0):`^(0|[1-9][0-9]*)$`,这个正则表达式允许0或者1到9开头的任意整数。
3. 小数验证:
- 只能输入小数,最多保留两位小数:`^[0-9]+(.[0-9]{2})?$`,允许有或没有小数点,但小数部分最多两位。
- 只能输入小数,最多保留1到3位小数:`^[0-9]+(.[0-9]{1,3})?$`,同样允许有或没有小数点,小数部分1到3位。
4. 国际电话号码验证:
- `^\+?[1-9][0-9]*$`,这个正则表达式用于验证国际电话号码,允许加号开始,然后是至少一位的数字。
5. 负整数验证:
- `^\-[1-9][0-9]*$`,用于验证负整数,必须以负号开始,然后是至少一位的数字。
6. 字符串长度验证:
- `^.{3}$`,确保字符串长度至少为3位。
7. 英文字母验证:
- 只包含英文字母:`^[A-Za-z]+$`,只允许大小写的英文字母。
- 只包含大写英文字母:`^[A-Z]+$`。
- 只包含小写英文字母:`^[a-z]+$`。
- 只包含英文字母和数字:`^[A-Za-z0-9]+$`。
- 只包含字母、数字、下划线:`^\w+$`,其中`\w`等价于 `[A-Za-z0-9_]`。
8. 用户名验证:
- `^[a-zA-Z]\w{5,17}$`,验证用户名,首字符必须是字母,后跟5到17个字母、数字或下划线。
9. 特殊字符限制:
- 限制输入除特定字符外的任何字符:`^[^%&',;=?$\"\\x22]+`,这里限制了 `%&',;=?$\"` 这些字符。
10. 中文字符验证:
- `^[\u4e00-\u9fa5]{0,}$`,用于验证是否全为中文字符。
11. Email地址验证:
- `^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$`,用于验证电子邮件地址的格式。
12. Internet URL验证:
- `^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$`,用于验证互联网网址。
13. 电话号码验证:
- `^(\(\d{3,4}-)|\d{3,4}-)?\d{7,8}$`,匹配多种格式的电话号码,如 "XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"、"XXXXXXXX"。
14. 身份证号验证:
- `^\d{15}|\d{18}$`,用于验证15位或18位的身份证号码。
15. 月份验证:
- `^(0?[1-9]|1[0-2])$`,验证月份,可以是1到12的数字,允许前导0。
16. 日期验证:
- `^((0?[1-9])|((1|2)[0-9])|30|31)$`,验证日期,可以是1到31的数字,允许前导0,但不包括二月的29号。
17. 文本框输入限制:
- 限制输入中文字符:`onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')"` 和 `onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"`,这两个属性用于限制输入框只能输入中文字符。
- 限制输入全角字符:`onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')"` 和 `onbeforepaste="cl"`,这两个属性用于限制输入框只能输入全角字符。
以上正则表达式模式在编写前端表单验证、数据过滤等方面非常实用,可以有效地确保用户输入的数据符合预设格式。
2012-08-17 上传
102 浏览量
2009-10-28 上传
2019-08-14 上传
2011-08-23 上传
2009-11-09 上传
2011-06-30 上传
2020-10-21 上传
2021-09-30 上传
liu510817387
- 粉丝: 10
- 资源: 12
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫