ContentJudge.cs 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Text.RegularExpressions;
  6. namespace Ant.Common
  7. {
  8. /// <summary>
  9. /// 用来判断字符串是否符合规则
  10. /// </summary>
  11. public static class ContentJudge
  12. {
  13. /// <summary>
  14. /// 用来判断字符串是否是正整数
  15. /// </summary>
  16. /// <param name="content">欲判断的字符串</param>
  17. /// <returns>返回判断结果bool,合法为true</returns>
  18. public static bool JudgeIsPositiveInt(string content)
  19. {
  20. return Regex.IsMatch(content, @"^\d+$");
  21. }
  22. /// <summary>
  23. /// 用来判断字符串是否是正浮点数
  24. /// </summary>
  25. /// <param name="content">欲判断的字符串</param>
  26. /// <returns>返回判断结果bool,合法为true</returns>
  27. public static bool JudgeIsPositiveDecimal(string content)
  28. {
  29. return Regex.IsMatch(content, @"^\d+[\.]{1}\d+$");
  30. }
  31. /// <summary>
  32. /// 判断是否为负整数
  33. /// </summary>
  34. /// <param name="content">欲判断的字符串</param>
  35. /// <returns>返回判断结果bool,合法为true</returns>
  36. public static bool JudgeIsMinusInt(string content)
  37. {
  38. return Regex.IsMatch(content, @"^-\d+$");
  39. }
  40. /// <summary>
  41. /// 用来判断字符串是否是负浮点数
  42. /// </summary>
  43. /// <param name="content">欲判断的字符串</param>
  44. /// <returns>返回判断结果bool,合法为true</returns>
  45. public static bool JudgeIsMinusDecimal(string content)
  46. {
  47. return Regex.IsMatch(content, @"^-\d+[\.]{1}\d+$");
  48. }
  49. /// <summary>
  50. /// 判断是否为汉字
  51. /// </summary>
  52. /// <param name="content">欲判断的字符串</param>
  53. /// <returns>返回判断结果bool,合法为true</returns>
  54. public static bool JudgeIsChinese(string content)
  55. {
  56. return Regex.IsMatch(content, @"^[\u4e00-\u9fa5]+$");
  57. }
  58. /// <summary>
  59. /// 判断是否为大写字母
  60. /// </summary>
  61. /// <param name="content">欲判断的字符串</param>
  62. /// <returns>返回判断结果bool,合法为true</returns>
  63. public static bool JudgeIsCapital(string content)
  64. {
  65. return Regex.IsMatch(content, @"^[A-Z]+$");
  66. }
  67. /// <summary>
  68. /// 判断是否为小写字母
  69. /// </summary>
  70. /// <param name="content">欲判断的字符串</param>
  71. /// <returns>返回判断结果bool,合法为true</returns>
  72. public static bool JudgeIsSmallLetter(string content)
  73. {
  74. return Regex.IsMatch(content, @"^[a-z]+$");
  75. }
  76. /// <summary>
  77. /// 判断是否为字母
  78. /// </summary>
  79. /// <param name="content">欲判断的字符串</param>
  80. /// <returns>返回判断结果bool,合法为true</returns>
  81. public static bool JudgeIsLetter(string content)
  82. {
  83. return Regex.IsMatch(content, @"^[A-ZA-Z]+$");
  84. }
  85. /// <summary>
  86. /// 判断是否为字母和数字混合
  87. /// </summary>
  88. /// <param name="content">欲判断的字符串</param>
  89. /// <returns>返回判断结果bool,合法为true</returns>
  90. public static bool JudgeIsLetterAndNumber(string content)
  91. {
  92. return Regex.IsMatch(content, @"^[A-Za-z0-9]+$");
  93. }
  94. /// <summary>
  95. /// 判断是否为字母和中文混合
  96. /// </summary>
  97. /// <param name="content">欲判断的字符串</param>
  98. /// <returns>返回判断结果bool,合法为true</returns>
  99. public static bool JudgeIsLetterAndChinese(string content)
  100. {
  101. return Regex.IsMatch(content, @"^[A-Za-z\u4e00-\u9fa5]+$");
  102. }
  103. /// <summary>
  104. /// 判断是否为数字和中文混合
  105. /// </summary>
  106. /// <param name="content">欲判断的字符串</param>
  107. /// <returns>返回判断结果bool,合法为true</returns>
  108. public static bool JudgeIsNumberAndChinese(string content)
  109. {
  110. return Regex.IsMatch(content, @"^[0-9\u4e00-\u9fa5]+$");
  111. }
  112. /// <summary>
  113. /// 判断是否为E-Mail地址
  114. /// </summary>
  115. /// <param name="content">欲判断的字符串</param>
  116. /// <returns>返回判断结果bool,合法为true</returns>
  117. public static bool JudgeIsMailAddress(string content)
  118. {
  119. return Regex.IsMatch(content, @"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$");
  120. }
  121. /// <summary>
  122. /// 判断是否为手机号码
  123. /// </summary>
  124. /// <param name="content">欲判断的字符串</param>
  125. /// <returns>返回判断结果bool,合法为true</returns>
  126. public static bool JudgeIsMobilePhoneNumber(string content)
  127. {
  128. return Regex.IsMatch(content, @"^1[3,5,8][0-9])\d{8}$");
  129. }
  130. /// <summary>
  131. /// 判断是否为电话号码
  132. /// </summary>
  133. /// <param name="content">欲判断的字符串</param>
  134. /// <returns>返回判断结果bool,合法为true</returns>
  135. public static bool JudgeIsPhoneNumber(string content)
  136. {
  137. return Regex.IsMatch(content, @"^(\d{3,4}-)?\d{6,8}$");
  138. }
  139. /// <summary>
  140. /// 判断是否为IP
  141. /// </summary>
  142. /// <param name="content">欲判断的字符串</param>
  143. /// <returns>返回判断结果bool,合法为true</returns>
  144. public static bool JudgeIsIp(string content)
  145. {
  146. return Regex.IsMatch(content, @"^(\d{1,2}|1\d\d|2[0-4]d|25[0-5]).(\d{1,2}|1\d\d|2[0-4]d|25[0-5]).(\d{1,2}|1\d\d|2[0-4]d|25[0-5]).(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$");
  147. }
  148. /// <summary>
  149. /// 自定义判断
  150. /// </summary>
  151. /// <param name="content">欲判断的字符串</param>
  152. /// <param name="regex">正则表达式规则</param>
  153. /// <returns>返回判断结果bool,合法为true</returns>
  154. public static bool JudgeDiy(string content, string regex)
  155. {
  156. return Regex.IsMatch(content, regex);
  157. }
  158. }
  159. public enum ContentJudgeEnum
  160. {
  161. JudgeIsPositiveInt = 1,
  162. JudgeIsPositiveDecimal = 2,
  163. JudgeIsMinusInt = 3,
  164. JudgeIsMinusDecimal = 4,
  165. JudgeIsChinese = 5,
  166. JudgeIsCapital = 6,
  167. JudgeIsSmallLetter = 7,
  168. JudgeIsLetter = 8,
  169. JudgeIsLetterAndNumber = 9,
  170. JudgeIsLetterAndChinese = 10,
  171. JudgeIsNumberAndChinese = 11,
  172. JudgeIsMailAddress = 12,
  173. JudgeIsMobilePhoneNumber = 13,
  174. JudgeIsPhoneNumber = 14,
  175. JudgeIsIp = 15,
  176. JudgeDiy = 16,
  177. None = 1000
  178. }
  179. }