常用正则表达式类

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Text.RegularExpressions;
  6. namespace Linus.Fin.Public.StringLib
  7. {
  8. public class RegularExp
  9. {
  10. #region 常用正则表达式枚举类
  11. public class RegExpPattern
  12. {
  13. /// <summary>
  14. /// 非负整数(正整数 + 0)
  15. /// </summary>
  16. public const string NonNegativeNumber = @"^/d+$";
  17. /// <summary>
  18. /// 非正整数(负整数 + 0)
  19. /// </summary>
  20. public const string NonPositiveNumber = @"^((-/d+)|(0+))$";
  21. /// <summary>
  22. /// 正整数
  23. /// </summary>
  24. public const string PositiveNumber = @"^[0-9]*[1-9][0-9]*$";
  25. /// <summary>
  26. /// 负整数
  27. /// </summary>
  28. public const string NegativeNumber = @"^-[0-9]*[1-9][0-9]*$";
  29. /// <summary>
  30. /// 整数
  31. /// </summary>
  32. public const string Number = @"^-?/d+$";
  33. /// <summary>
  34. /// 非负浮点数(正浮点数 + 0)
  35. /// </summary>
  36. public const string NonNegativeFloat = @"^/d+(/./d+)?$";
  37. /// <summary>
  38. /// 正浮点数
  39. /// </summary>
  40. public const string PositiveFloat = @"^(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*))$";
  41. /// <summary>
  42. /// 非正浮点数(负浮点数 + 0)
  43. /// </summary>
  44. public const string NonPositiveFloat = @"^((-/d+(/./d+)?)|(0+(/.0+)?))$";
  45. /// <summary>
  46. /// 负浮点数
  47. /// </summary>
  48. public const string NegativeFloat = @"^(-(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*)))$";
  49. /// <summary>
  50. /// 浮点数
  51. /// </summary>
  52. public const string Float = @"^(-?/d+)(/./d+)?$";
  53. /// <summary>
  54. /// 由26个英文字母组成的字符串
  55. /// </summary>
  56. public const string LetterString = @"^[A-Za-z]+$";
  57. /// <summary>
  58. /// 由26个英文字母的大写组成的字符串
  59. /// </summary>
  60. public const string UpperLetterString = @"^[A-Z]+$";
  61. /// <summary>
  62. /// 由26个英文字母的小写组成的字符串
  63. /// </summary>
  64. public const string LowerLetterString = @"^[a-z]+$";
  65. /// <summary>
  66. /// 由数字和26个英文字母组成的字符串
  67. /// </summary>
  68. public const string DigitLetterString = @"^[A-Za-z0-9]+$";
  69. /// <summary>
  70. /// 由数字、26个英文字母或者下划线组成的字符串
  71. /// </summary>
  72. public const string GeneralString = @"^/w+$";
  73. /// <summary>
  74. /// 电话号码
  75. /// </summary>
  76. public const string TelephoneNumber = @"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?";
  77. /// <summary>
  78. /// IP地址
  79. /// </summary>
  80. public const string IPAddr = @"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$";
  81. /// <summary>
  82. /// 匹配中文字符的正则表达式
  83. /// </summary>
  84. public const string ChineseString = @"[/u4e00-/u9fa5]";
  85. /// <summary>
  86. /// 匹配双字节字符(包括汉字在内)
  87. /// </summary>
  88. public const string UnicodeText = @"[^/x00-/xff]";
  89. /// <summary>
  90. /// 匹配空行的正则表达式
  91. /// </summary>
  92. public const string BlankLine = @"/n[/s| ]*/r";
  93. /// <summary>
  94. /// 匹配HTML标记的正则表达式
  95. /// </summary>
  96. public const string HtmlFlag = @"/<(.*)>.*<///1>|<(.*) //>/";
  97. /// <summary>
  98. /// 匹配Email地址的正则表达式
  99. /// </summary>
  100. public const string EmailAddr = @"/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*";
  101. /// <summary>
  102. /// 匹配网址URL的正则表达式
  103. /// </summary>
  104. public const string UrlAddr = @"^[a-zA-z]+://(//w+(-//w+)*)(//.(//w+(-//w+)*))*(//?//S*)?$";
  105. /// <summary>
  106. /// 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线)
  107. /// </summary>
  108. public const string BankAcct = @"^[a-zA-Z][a-zA-Z0-9_]{4,15}$";
  109. /// <summary>
  110. /// 匹配国内电话号码
  111. /// </summary>
  112. public const string ChinaTelephone = @"(/d{3}-|/d{4}-)?(/d{8}|/d{7})?";
  113. }
  114. #endregion
  115. #region private function
  116. private static bool IsMatched(string strInputText, string strRegPatter, RegexOptions regFlag)
  117. {
  118. Regex ex = new Regex(strRegPatter, regFlag);
  119. return ex.IsMatch(strInputText);
  120. }
  121. #endregion
  122. #region public function
  123. public static bool IsMailAddr(string strInputText)
  124. {
  125. return IsMailAddr(strInputText, true);
  126. }
  127. public static bool IsMailAddr(string strInputText, bool bIgnoreCase)
  128. {
  129. RegexOptions regFlag = RegexOptions.Compiled;
  130. if (bIgnoreCase) regFlag = regFlag | RegexOptions.IgnoreCase;
  131. return IsMatched(strInputText, RegExpPattern.EmailAddr, regFlag);
  132. }
  133. public static bool IsIPAddr(string strInputText)
  134. {
  135. return IsMatched(strInputText, RegExpPattern.IPAddr, RegexOptions.Compiled);
  136. }
  137. public static bool IsNumber(string strInputText)
  138. {
  139. return IsMatched(strInputText, RegExpPattern.Number, RegexOptions.Compiled);
  140. }
  141. public static bool IsNegativeNumber(string strInputText)
  142. {
  143. return IsMatched(strInputText, RegExpPattern.NegativeNumber, RegexOptions.Compiled);
  144. }
  145. public static bool IsPositiveNumber(string strInputText)
  146. {
  147. return IsMatched(strInputText, RegExpPattern.PositiveNumber, RegexOptions.Compiled);
  148. }
  149. public static bool IsNonNegativeNumber(string strInputText)
  150. {
  151. return IsMatched(strInputText, RegExpPattern.NonNegativeNumber, RegexOptions.Compiled);
  152. }
  153. public static bool IsNonPositiveNumber(string strInputText)
  154. {
  155. return IsMatched(strInputText, RegExpPattern.NonPositiveNumber, RegexOptions.Compiled);
  156. }
  157. public static bool IsFloat(string strInputText)
  158. {
  159. return IsMatched(strInputText, RegExpPattern.Float, RegexOptions.Compiled);
  160. }
  161. public static bool IsNegativeFloat(string strInputText)
  162. {
  163. return IsMatched(strInputText, RegExpPattern.NegativeFloat, RegexOptions.Compiled);
  164. }
  165. public static bool IsPositiveFloat(string strInputText)
  166. {
  167. return IsMatched(strInputText, RegExpPattern.PositiveFloat, RegexOptions.Compiled);
  168. }
  169. public static bool IsNonNegativeFloat(string strInputText)
  170. {
  171. return IsMatched(strInputText, RegExpPattern.NonNegativeFloat, RegexOptions.Compiled);
  172. }
  173. public static bool IsNonPositiveFloat(string strInputText)
  174. {
  175. return IsMatched(strInputText, RegExpPattern.NonPositiveFloat, RegexOptions.Compiled);
  176. }
  177. #endregion
  178. }
  179. }
时间: 2024-08-09 17:47:02

常用正则表达式类的相关文章

Java常用正则表达式验证工具类RegexUtils.java

原文:Java常用正则表达式验证工具类RegexUtils.java 源代码下载地址:http://www.zuidaima.com/share/1550463379442688.htm Java 表单注册常用正则表达式验证工具类,常用正则表达式大集合. 1. 电话号码 2. 邮编 3. QQ 4. E-mail 5. 手机号码 6. URL 7. 是否为数字 8. 是否为中文 9. 身份证 10. 域名 11. IP .... 常用验证应有尽有! 这的确是您从事 web 开发,服务器端表单验证

java常用正则表达式

java常用正则表达式 1.^\d+$ //匹配非负整数(正整数 + 0) 2.^[0-9]*[1-9][0-9]*$ //匹配正整数 3.^((-\d+) ?(0+))$ //匹配非正整数(负整数 + 0) 4.^-[0-9]*[1-9][0-9]*$ //匹配负整数 5.^-?\d+$ //匹配整数 6.^\d+(\.\d+)?$ //匹配非负浮点数(正浮点数 + 0) 7.^(([0-9]+\.[0-9]*[1-9][0-9]*) ?([0-9]*[1-9][0-9]*\.[0-9]+)

Javascript正则构造函数与正则表达字面量&amp;&amp;常用正则表达式

本文不讨论正则表达式入门,即如何使用正则匹配.讨论的是两种创建正则表达式的优劣和一些细节,最后给出一些常用正则匹配表达式. Javascript中的正则表达式也是对象,我们可以使用两种方法创建正则表达式: 使用new RegExp()构造函数 使用正则表达字面量 先说结果,使用正则表达字面量的效率更高. 下面的示例代码演示了两种可用于创建正则表达式以匹配反斜杠的方法: 1 //正则表达字面量 2 var re = /\\/gm; 3 4 //正则构造函数 5 var reg = new RegE

2016/07/11 常用正则表达式大全 (转)

网上找到的常用正则表达式,留着以后可能用得上,正则表达式实在是不好写,只好拿来主义了,在Delphi中没有自己带有正则表达式的组件,靠第三方了,都说PerlRegEx 是首选, 去这里下载,官方网站: http://www.regular-expressions.info/delphi.html.另外,万一老师在他的博客上写了PerRegEx的使用,可以去看看:http://www.cnblogs.com/del/archive/2007/12/21/1008108.html 以下是转载的文章,

JavaScript常用正则表达式与应用(一)

JavaScript的String类和RegExp对象类都定义了相关方法使用正则表达式进行模式匹配,本文将以连载方式介绍JavaScript常用正则表达式与相关应用,欢迎交流 本节是连载一,首先介绍JavaScript语言常用的正则表达式,如何应用将在后几篇介绍. 所有案例将采用在线正则表达式验证工具RegExr进行测试,地址是:http://regexr.com/v1/,本节测试截图均来自该网站. 1.匹配字符串字面值: 正则表达式字面值包含在一对正斜杠内,如:var parttern=/P/

Android 常用正则表达式

java 正则表达式常用的字符说明 常用的正则表达式 java 正则表达式的使用 常用的工具类 RexUtils(匹配电话号码,身份张,电子邮箱,IP地址等) java 正则表达式常用的字符说明 字符 说明 \ 将下一字符标记为特殊字符.文本.反向引用或八进制转义符.例如,"n"匹配字符"n"."\n"匹配换行符.序列"\\"匹配"\","\("匹配"(". ^ 匹配

常用正则表达式大全 (转)

网上找到的常用正则表达式,留着以后可能用得上,正则表达式实在是不好写,只好拿来主义了,在Delphi中没有自己带有正则表达式的组件,靠第三方了,都说PerlRegEx 是首选, 去这里下载,官方网站: http://www.regular-expressions.info/delphi.html.另外,万一老师在他的博客上写了PerRegEx的使用,可以去看看:http://www.cnblogs.com/del/archive/2007/12/21/1008108.html 以下是转载的文章,

mvc Model验证总结及常用正则表达式

本文属转载,来源: http://www.byywee.com/page/M0/S868/868615.html 关于Model验证官方资料: http://msdn.microsoft.com/zh-cn/library/system.componentmodel.dataannotations.aspx ASP.NET MVC3中的Model是自验证的,这是经由过程.NET4的System.ComponentModel.DataAnnotations定名空间完成的. 我们要做的只是给Mode

[精品] 收集的27个java开发常用工具类.基本满足开发需求

原文:[精品] 收集的27个java开发常用工具类.基本满足开发需求 源代码下载地址:http://www.zuidaima.com/share/1596028005993472.htm 最近从网上收集的java开发常用的工具类,分享给大家.基本满足开发需求.推荐给热爱最代码以及java的牛牛们.   每个类都有注释的,欢迎大家可以下载使用. 字符编码:CharTools, base64:Base64 *.java Md5加密:  MD5*.java 上传:*Uploader* 生成缩略图类:T