ValidationTools.cs 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace CP.Common
  7. {
  8. public static class ValidationTools
  9. {
  10. /// <summary>
  11. /// 验证int数据并且比较最大最小超出范围取最小
  12. /// </summary>
  13. /// <param name="value">value</param>
  14. /// <param name="min">最小值</param>
  15. /// <param name="max">最大值</param>
  16. /// <returns></returns>
  17. public static int CheckInt(Object value, int min, int max)
  18. {
  19. try
  20. {
  21. int tmp = 0;
  22. int.TryParse(value.ToString(), out tmp);
  23. if (tmp > max || tmp < min)
  24. {
  25. tmp = min;
  26. }
  27. return tmp;
  28. }
  29. catch (Exception ee)
  30. {
  31. return 0;
  32. }
  33. }
  34. /// <summary>
  35. /// 验证字符串是否有非法字符 如果是将返回默认
  36. /// </summary>
  37. /// <param name="value">value</param>
  38. /// <param name="defaultStr">默认字符串</param>
  39. /// <param name="maxlength">最大长度</param>
  40. /// <returns></returns>
  41. public static string CheckStr(this string value, string defaultStr, int maxlength)
  42. {
  43. try
  44. {
  45. string[] aryReg = { "'", "'delete", "?", "<", ">", "%", "\"\"", ",", ".", ">=", "=<", ";", "||", "[", "]", "&", "/", "|", " ", "''" };
  46. string tmp = defaultStr;
  47. if (value.Length < maxlength)
  48. {
  49. var regchar = value.Where(w => aryReg.ToList().Contains(w.ToString())).ToList();
  50. if (regchar.Count != 0)
  51. {
  52. tmp = defaultStr;
  53. }
  54. else
  55. {
  56. tmp = value;
  57. }
  58. }
  59. return tmp;
  60. }
  61. catch (Exception ee)
  62. {
  63. return null;
  64. }
  65. }
  66. /// <summary>
  67. /// 判断字符串是否包含其中
  68. /// </summary>
  69. /// <param name="value">value</param>
  70. /// <param name="charStr">params参数</param>
  71. /// <returns></returns>
  72. public static bool CheckHasChar(string value, params string[] charStr)
  73. {
  74. try
  75. {
  76. int istrue = 0;
  77. for (int i = 0; i < charStr.Length; i++)
  78. {
  79. if (value.Contains(charStr[i]))
  80. {
  81. istrue += 1;
  82. }
  83. }
  84. if (istrue == charStr.Length)
  85. {
  86. return true;
  87. }
  88. else
  89. {
  90. return false;
  91. }
  92. }
  93. catch (Exception ee)
  94. {
  95. return false;
  96. }
  97. }
  98. /// <summary>
  99. ///验证字符串是否是符合标准的时间格式数据
  100. /// </summary>
  101. /// <param name="value">value</param>
  102. /// <param name="defaultTime">默认返回时间</param>
  103. /// <param name="mintime">最小时间</param>
  104. /// <param name="maxTime">最大时间</param>
  105. /// <returns></returns>
  106. public static DateTime CheckTime(string value, DateTime defaultTime, DateTime mintime, DateTime maxTime)
  107. {
  108. try
  109. {
  110. DateTime tmp = DateTime.Now;
  111. DateTime.TryParse(value, out tmp);
  112. if (tmp > maxTime || tmp < mintime)
  113. {
  114. tmp = defaultTime;
  115. }
  116. return tmp;
  117. }
  118. catch (Exception ee)
  119. {
  120. return defaultTime;
  121. }
  122. }
  123. }
  124. }