全面解析:正则表达式关键模式
需积分: 3 20 浏览量
更新于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"`,这两个属性用于限制输入框只能输入全角字符。
以上正则表达式模式在编写前端表单验证、数据过滤等方面非常实用,可以有效地确保用户输入的数据符合预设格式。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2009-10-28 上传
2011-08-23 上传
2019-08-14 上传
2009-11-09 上传
2011-06-30 上传
2020-10-21 上传
liu510817387
- 粉丝: 10
- 资源: 12
最新资源
- MATLAB新功能:Multi-frame ViewRGB制作彩色图阴影
- XKCD Substitutions 3-crx插件:创新的网页文字替换工具
- Python实现8位等离子效果开源项目plasma.py解读
- 维护商店移动应用:基于PhoneGap的移动API应用
- Laravel-Admin的Redis Manager扩展使用教程
- Jekyll代理主题使用指南及文件结构解析
- cPanel中PHP多版本插件的安装与配置指南
- 深入探讨React和Typescript在Alias kopio游戏中的应用
- node.js OSC服务器实现:Gibber消息转换技术解析
- 体验最新升级版的mdbootstrap pro 6.1.0组件库
- 超市盘点过机系统实现与delphi应用
- Boogle: 探索 Python 编程的 Boggle 仿制品
- C++实现的Physics2D简易2D物理模拟
- 傅里叶级数在分数阶微分积分计算中的应用与实现
- Windows Phone与PhoneGap应用隔离存储文件访问方法
- iso8601-interval-recurrence:掌握ISO8601日期范围与重复间隔检查