黑马程序员技术交流社区

标题: 大家一起来探讨一下C#中的正则表达式 [打印本页]

作者: 10642491    时间: 2011-10-26 22:30
标题: 大家一起来探讨一下C#中的正则表达式
正则表达式非常强悍,下面是一些常用的正则表达式,希望对大家有用

  1. 只能输入数字:"^[0-9]*$"  
  2. 只能输入 n 位的数字:"^\d{n}$"

  3. 只能输入至少 n 位的数字:"^\d{n,}$"

  4. 只能输入 m ~ n 位的数字:"^\d{m,n}$"

  5. 只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"

  6. 只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"

  7. 只能输入有 1~3 位小数的正实数:"^[0-9]+(.[0-9]{1,3})?$"

  8. 只能输入非零的正整数:"^\+?[1-9][0-9]*$"

  9. 只能输入非零的负整数:"^\-[1-9][0-9]*$"

  10. 只能输入长度位 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. 验证是否含有非法字符 ^(?:[\u4e00-\u9fa5]*\w*\s*)+$

  18. 只能输入汉字:"^[\u4e00-\u9fa5]{0,}$"

  19. 验证 Email 地址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"

  20. 验证 InternetURL:"^http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?$"




  21. 中国电话号码验证  
  22. 匹配形式如:0511-4405222 或者021-87888822 或者 021-44055520-555 或者 (0511)4405222  
  23. 正则表达式 "((d{3,4})|d{3,4}-)?d{7,8}(-d{3})*"  

  24. 中国邮政编码验证  
  25. 匹配形式如:215421  
  26. 正则表达式 "d{6}"  

  27. 电子邮件验证  
  28. 匹配形式如:justali@justdn.com  
  29. 正则表达式 "w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*"  

  30. 身份证验证  
  31. 匹配形式如:15位或者18位身份证  
  32. 正则表达式 "d{18}|d{15}"  

  33. 常用数字验证  
  34. 正则表达式   
  35. "d{n}" n为规定长度  
  36. "d{n,m}" n到m的长度范围  

  37. 非法字符验证  
  38. 匹配排除非法字符的字符如:  
  39. 正则表达式 ^(?:[\u4e00-\u9fa5]*\w*\s*)+$

  40. 日期验证  
  41. 匹配形式如:20030718,030718  
  42. 范围:1900--2099  
  43. 正则表达式((((19){1}|(20){1})d{2})|d{2})[01]{1}d{1}[0-3]{1}d{1}


  44. 使用实例:

  45.    string msg="";
  46.      Regex myreg=new Regex(@"^(?:[\u4e00-\u9fa5]*\w*\s*)+$"); //屏蔽非法字符
  47.    if(myreg.IsMatch(t_name.Text))
  48.     msg="用户名格式正确!";
  49.    else
  50.     msg="用户名中不能含有非法字符!";
  51.    myreg=new Regex(@"^[a-zA-Z]\w{5,17}$");
  52.    if(myreg.IsMatch(t_pwd.Text))
  53.     msg+="\r\n密码格式正确!";
  54.    else
  55.     msg+="\r\n密码必须以字母开头,长度在6~18之间,只能包含字符、数字和下划线";
  56.    MessageBox.Show(msg);
复制代码

作者: 朱勋    时间: 2011-10-27 08:34
楼主精神可嘉,谢谢分享{:soso_e179:}
作者: 黄朝辉    时间: 2011-10-27 09:38
唯有正则最难学了!
作者: 杨恩锋    时间: 2011-10-27 11:02
不管是C#还是javascript中的正则表达式,都是通用的。
作者: 高宜    时间: 2012-6-20 23:18
学习了 感谢分享!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2