C#正则表达式:验证控件与规则详解

需积分: 3 1 下载量 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开发中常用于创建自定义验证控件,确保用户输入的数据符合业务规则,从而减少数据错误和提高应用的安全性。开发者可以根据具体需求调整这些正则表达式,以满足更复杂的验证场景。