C#正则表达式:验证控件与规则详解
需积分: 3 53 浏览量
更新于2024-11-07
收藏 63KB DOC 举报
这篇资源主要介绍了在.NET开发中,特别是C#环境下使用正则表达式进行数据验证的一些常见规则。正则表达式是处理文本模式匹配和查找的强大工具,尤其适用于输入验证,确保用户输入的数据符合特定格式要求。以下是一些具体的正则表达式示例及其用途:
1. 只能输入数字:`^[0-9]*$` - 这个正则表达式用于确保输入只包含0到9的数字,没有其他字符。
2. 只能输入n位的数字:`^\d{n}$` - n为具体数字,它将匹配正好n位的数字。
3. 只能输入至少n位的数字:`^\d{n,}$` - 匹配n位或更多位的数字。
4. 只能输入m~n位的数字:`^\d{m,n}$` - 匹配m到n位之间的数字。
5. 只能输入零和非零开头的数字:`^(0|[1-9][0-9]*)$` - 允许0作为开头,或非零数字后跟任意数量的数字。
6. 只能输入有两位小数的正实数:`^[0-9]+(.[0-9]{2})?$` - 匹配一个正整数或带有两位小数的正数。
7. 只能输入有1~3位小数的正实数:`^[0-9]+(.[0-9]{1,3})?$` - 匹配正整数或1到3位小数的正数。
8. 只能输入非零的正整数:`^\+?[1-9][0-9]*$` - 匹配非零正整数,允许前面有一个加号。
9. 只能输入非零的负整数:`^\-[1-9][]0-9"*$` - 匹配非零负整数,但这个表达式似乎有误,正确的可能是`^\-[1-9][0-9]*$`。
10. 只能输入长度为3的字符:`^.{3}$` - 确保输入的字符串长度恰好为3。
11. 只能输入由26个英文字母组成的字符串:`^[A-Za-z]+$` - 匹配任何由大小写字母组成的字符串。
12. 只能输入由26个大写英文字母组成的字符串:`^[A-Z]+$` - 仅匹配大写字母。
13. 只能输入由26个小写英文字母组成的字符串:`^[a-z]+$` - 仅匹配小写字母。
14. 只能输入由数字和26个英文字母组成的字符串:`^[A-Za-z0-9]+$` - 匹配由字母和数字组合的字符串。
15. 只能输入由数字、26个英文字母或者下划线组成的字符串:`^\w+$` - 匹配由字母、数字或下划线组成的“单词”字符。
16. 验证用户密码:`^[a-zA-Z]\w{5,17}$` - 必须以字母开头,长度在6到18个字符之间,可以包含字母、数字和下划线。
17. 验证是否含有特殊字符:`[^%&',;=?$\x22]+` - 检查输入是否包含某些特定的特殊字符。
18. 只能输入汉字:`^[\u4e00-\u9fa5]{0,}$` - 确保输入仅由汉字组成。
19. 验证Email地址:`^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$` - 校验电子邮件地址的格式。
20. 验证Internet URL:`^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$` - 验证URL的正确格式。
21. 验证电话号码:`^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$` - 匹配多种格式的电话号码,如"XXX-XXXXXXXX"、"XXXX-XXXXXXXX"等。
22. 验证身份证号(15位或18位数字):`^\d{15}|\d{18}$` - 验证15位或18位的身份证号码。
23. 验证一年的12个月:`^(0?[1-9]|1[0-2])$` - 匹配1到12的月份。
24. 验证一个月的31天:`^((0?[1-9])|((1|2)[0-9])|30|31)$` - 验证1到31的日期,允许前导零。
以上正则表达式在.NET开发中常用于创建自定义验证控件,确保用户输入的数据符合业务规则,从而减少数据错误和提高应用的安全性。开发者可以根据具体需求调整这些正则表达式,以满足更复杂的验证场景。
2021-10-19 上传
2011-10-30 上传
2024-11-16 上传
2024-11-16 上传
2024-11-16 上传
2024-11-16 上传
2024-11-16 上传
木塔酷派
- 粉丝: 5
- 资源: 14
最新资源
- 平尾装配工作平台运输支撑系统设计与应用
- MAX-MIN Ant System:用MATLAB解决旅行商问题
- Flutter状态管理新秀:sealed_flutter_bloc包整合seal_unions
- Pong²开源游戏:双人对战图形化的经典竞技体验
- jQuery spriteAnimator插件:创建精灵动画的利器
- 广播媒体对象传输方法与设备的技术分析
- MATLAB HDF5数据提取工具:深层结构化数据处理
- 适用于arm64的Valgrind交叉编译包发布
- 基于canvas和Java后端的小程序“飞翔的小鸟”完整示例
- 全面升级STM32F7 Discovery LCD BSP驱动程序
- React Router v4 入门教程与示例代码解析
- 下载OpenCV各版本安装包,全面覆盖2.4至4.5
- 手写笔画分割技术的新突破:智能分割方法与装置
- 基于Koplowitz & Bruckstein算法的MATLAB周长估计方法
- Modbus4j-3.0.3版本免费下载指南
- PoqetPresenter:Sharp Zaurus上的开源OpenOffice演示查看器