
C#常用正则表达式规则集锦

标题中提到的“C#正则表达式包括(身份证,只能输入汉字等等)”意味着我们将讨论C#语言中如何使用正则表达式来实现各种输入验证。正则表达式是一种强大的文本处理工具,它能够识别符合特定规则的字符串模式。以下是从标题、描述中提取的知识点:
1. **正则表达式基础**:正则表达式由一系列字符和符号组成,可以用来搜索、匹配和替换文本中的模式。在C#中,我们通常使用`System.Text.RegularExpressions`命名空间下的`Regex`类来处理正则表达式。
2. **数字验证规则**:
- 只能输入数字:`^[0-9]*$`。这个表达式匹配0个或多个数字字符,从字符串开始到结束。
- 只能输入n位数字:`^\d{n}$`。这里的`n`是数字位数,需要替换为具体的数字。
- 至少n位数字:`^\d{n,}$`。这个表达式匹配至少`n`个连续数字,以确保至少有这么多位数字。
- m~n位数字:`^\d{m,n}$`。这个表达式匹配从`m`到`n`个数字字符,允许指定一个数字范围。
3. **特定条件下的数字输入**:
- 零和非零开头的数字:`^(0|[1-9][0-9]*)$`。这个表达式匹配以0开头或非零开头后接任意数量数字的字符串。
- 两位小数的正实数:`^[0-9]+(.[0-9]{2})?$`。匹配一个或多个数字,可能后接两位小数。
- 1~3位小数的正实数:`^[0-9]+(.[0-9]{1,3})?$`。匹配一个或多个数字,后接1至3位小数。
4. **整数验证规则**:
- 非零的正整数:`^\+?[1-9][0-9]*$`。这个表达式匹配一个加号后跟至少一个数字的字符串,确保数字不是零。
- 非零的负整数:`^\-[1-9][0-9]*$`。匹配一个减号后跟至少一个数字的字符串。
5. **字符和字符串验证规则**:
- 长度为3的字符:`^.{3}$`。匹配恰好3个任意字符。
- 由26个英文字母组成的字符串:`^[A-Za-z]+$`。匹配一个或多个英文字母,不区分大小写。
- 仅大写或小写英文字母:分别使用`^[A-Z]+$`和`^[a-z]+$`。
- 包含数字和字母的字符串:`^[A-Za-z0-9]+$`。匹配数字、大写或小写字母。
- 包含数字、字母或下划线的字符串:`^\w+$`。`\w`匹配任何字母数字字符和下划线。
6. **复杂输入验证规则**:
- 用户密码验证:`^[a-zA-Z]\w{5,17}$`。匹配以字母开头,后面跟着5至17个字母数字或下划线字符的字符串,长度为6到18字符。
- 特殊字符验证:`[^%&'',;=?$\x22]+`。匹配任何不包含特定特殊字符的字符串。
- 汉字输入验证:`^[\u4e00-\u9fa5]{0,}$`。`\u4e00`至`\u9fa5`是常用的汉字Unicode范围,该表达式匹配任意长度的汉字字符串。
7. **专业验证规则**:
- Email地址验证:`^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$`。匹配标准的电子邮件地址格式。
- InternetURL验证:`^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$`。匹配以http://开头,后接一个或多个域名段,可能包含路径的URL。
8. **电话号码验证规则**:
- `^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$`。这个表达式用于匹配几种不同格式的电话号码,包括带括号和连字符的格式。
在使用这些正则表达式时,开发者可以结合C#的`Regex`类中的方法,如`IsMatch`、`Match`、`Matches`、`Replace`、`Split`等来实现字符串的验证和处理。
综上所述,正则表达式为C#开发者提供了一种高效且功能强大的方式来进行文本验证。掌握这些规则对于提升表单验证、数据清洗、日志分析等场景的开发效率至关重要。需要注意的是,在应用正则表达式时,应确保规则的准确性和适用性,以避免逻辑错误或安全漏洞。
相关推荐







chennenghao
- 粉丝: 1
最新资源
- Apache Ant 1.7.1版本深度解析与应用
- Java实现的XP风格蜘蛛纸牌游戏源码
- 网络工程技术详解与实践:济南大学课件概览
- S3C2440平台SPI WiFi驱动调试问题解析
- 北大青鸟Y2Java项目-客户关系管理系统详解
- C#经典开发案例:公司管理系统源码解析
- eBay个性化平台中的MySQL数据库应用分析
- 掌握非线性小波变换:完整源代码与算法实现
- STM32V100微控制器的TIM1定时器编程指南
- JSP技术打造的小型企业宣传网站
- Java邮件开发利器:javamail-1.4.jar源代码解析
- RocketDock:精美MAC风格的快速启动栏工具
- 基于51单片机的秒表设计实现与汇编语言应用
- 探索kbmmemtable5.6:高效内存临时表解决方案
- 探索DirectX7官方文档:DirectDraw的细节与历史
- 计算机专业离散数学电子教案课件
- 深入解析Google气象报告技术细节
- VB和ACCESS构建简单图书管理系统教程
- JSPBook站点范例内容压缩包,快速学习JSP2.0技术
- 深入学习C#:走迷宫程序的两个版本解析
- GDI+技术绘图示例:打造个性化C#控件
- superflow V4.0流程建模工具设计与使用手册
- 深入解析mootools源码:方法注释全面解读
- 高数与线代期末试题集锦:微积分习题详解