Check.php 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | A3Mall
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2020 http://www.a3-mall.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Author: xzncit <158373108@qq.com>
  8. // +----------------------------------------------------------------------
  9. namespace mall\utils;
  10. class Check {
  11. /**
  12. * 验证某个字段的值是否为有效的手机
  13. * @param string $string
  14. * @return bool
  15. * */
  16. public static function mobile($string) {
  17. return preg_match('/^1[3-9]\d{9}$/', $string);
  18. }
  19. /**
  20. * 是否为合法的用户名
  21. * @param $string
  22. * @param int $start
  23. * @param int $end
  24. * @return int
  25. */
  26. public static function username($string,$start=4,$end=12){
  27. $pattern = '/[0-9a-zA-Z_]{'.$start.','.$end.'}$/';
  28. return (int)preg_match($pattern, $string);
  29. }
  30. /**
  31. * 验证密码
  32. * @param $string
  33. * @param int $min
  34. * @param int $max
  35. * @return false|int
  36. */
  37. public static function password($string,$min=6,$max=18){
  38. $pattern = '/[a-zA-Z0-9_\~\!\@\#\$\%\^\&\*\(\)\-\_\=\+\[\]\{\}\;\:\'\"\\\|\,\<\>\.\/\?]{'.$min.','.$max.'}/';
  39. return preg_match($pattern, $string);
  40. }
  41. /**
  42. * 检查字符长度
  43. * @param string $content
  44. * @return false|int
  45. */
  46. public static function strlen($content=""){
  47. return mb_strlen($content,"UTF8");
  48. }
  49. /**
  50. * 验证某个字段的值是否为纯字母
  51. * @param $string
  52. * @return false|int
  53. */
  54. public static function alpha($string) {
  55. return preg_match('/^[A-Za-z]+$/', $string);
  56. }
  57. /**
  58. * 验证某个字段的值是否为字母和数字
  59. * @param $string
  60. * @return false|int
  61. */
  62. public static function alphaNum($string) {
  63. return preg_match('/^[A-Za-z0-9]+$/', $string);
  64. }
  65. /**
  66. * 验证某个字段的值是否为字母和数字,下划线_及破折号-
  67. * @param $string
  68. * @return false|int
  69. */
  70. public static function alphaDash($string) {
  71. return preg_match('/^[A-Za-z0-9\-\_]+$/', $string);
  72. }
  73. /**
  74. * 验证某个字段的值只能是汉字
  75. * @param $string
  76. * @return false|int
  77. */
  78. public static function chs($string) {
  79. return preg_match('/^[\x{4e00}-\x{9fa5}]+$/u', $string);
  80. }
  81. /**
  82. * 验证某个字段的值只能是汉字、字母
  83. * @param $string
  84. * @return false|int
  85. */
  86. public static function chsAlpha($string) {
  87. return preg_match('/^[\x{4e00}-\x{9fa5}a-zA-Z]+$/u', $string);
  88. }
  89. /**
  90. * 验证某个字段的值只能是汉字、字母和数字
  91. * @param $string
  92. * @return false|int
  93. */
  94. public static function chsAlphaNum($string) {
  95. return preg_match('/^[\x{4e00}-\x{9fa5}a-zA-Z0-9]+$/u', $string);
  96. }
  97. /**
  98. * 验证某个字段的值只能是汉字、字母、数字和下划线_及破折号-
  99. * @param $string
  100. * @return false|int
  101. */
  102. public static function chsDash($string) {
  103. return preg_match('/^[\x{4e00}-\x{9fa5}a-zA-Z0-9\_\-\s]+$/u', $string);
  104. }
  105. /**
  106. * 验证某个字段的值是否为有效的身份证格式
  107. * @param $string
  108. * @return false|int
  109. */
  110. public static function idCard($string) {
  111. return preg_match('/(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}$)/', $string);
  112. }
  113. /**
  114. * 验证某个字段的值是否为有效的邮政编码
  115. * @param $string
  116. * @return false|int
  117. */
  118. public static function zip($string) {
  119. return preg_match('/\d{6}/', $string);
  120. }
  121. /**
  122. * 验证某个字段的值是否为email地址
  123. * @param string $value
  124. * @return bool
  125. */
  126. public static function email($value=""){
  127. return false !== filter_var($value,FILTER_VALIDATE_EMAIL);
  128. }
  129. /**
  130. * 验证某个字段的值是否为有效的IP地址
  131. * @param string $value
  132. * @param int $rule [FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_IPV6],
  133. * @return mixed
  134. */
  135. public static function ip($value="",$rule=FILTER_VALIDATE_IP){
  136. return false !== filter_var($value,$rule);
  137. }
  138. /**
  139. * 验证某个字段的值是否为整数
  140. * @param string $value
  141. * @return bool
  142. */
  143. public static function integer($value=""){
  144. return false !== filter_var($value,FILTER_VALIDATE_INT);
  145. }
  146. /**
  147. * 验证某个字段的值是否为有效的URL地址
  148. * @param string $value
  149. * @return bool
  150. */
  151. public static function url($value=""){
  152. return false !== filter_var($value,FILTER_VALIDATE_URL);
  153. }
  154. /**
  155. * 验证某个字段的值是否为有效的MAC地址
  156. * @param string $value
  157. * @return bool
  158. */
  159. public static function macAddr($value=""){
  160. return false !== filter_var($value,FILTER_VALIDATE_MAC);
  161. }
  162. /**
  163. * 验证某个字段的值是否为浮点数字
  164. * @param string $value
  165. * @return bool
  166. */
  167. public static function float($value=""){
  168. return false !== filter_var($value,FILTER_VALIDATE_FLOAT);
  169. }
  170. }