首页  >  文章  >  后端开发  >  5

5

WBOY
WBOY原创
2016-07-25 08:47:29883浏览
ddd
  1. /**
  2. * 验证类
  3. *
  4. * @lastmodify 2014-5-16
  5. * @author jy625
  6. */
  7. class VerifyAction{
  8. /**
  9. * 是否为空值
  10. */
  11. public static function isEmpty($str){
  12. $str = trim($str);
  13. return !empty($str) ? true : false;
  14. }
  15. /**
  16. * 数字验证
  17. * param:$flag : int是否是整数,float是否是浮点型
  18. */
  19. public static function isNum($str,$flag = 'float'){
  20. if(!self::isEmpty($str)) return false;
  21. if(strtolower($flag) == 'int'){
  22. return ((string)(int)$str === (string)$str) ? true : false;
  23. }else{
  24. return ((string)(float)$str === (string)$str) ? true : false;
  25. }
  26. }
  27. /**
  28. * 名称匹配,如用户名,目录名等
  29. * @param:string $str 要匹配的字符串
  30. * @param:$chinese 是否支持中文,默认支持,如果是匹配文件名,建议关闭此项(false)
  31. * @param:$charset 编码(默认utf-8,支持gb2312)
  32. */
  33. public static function isName($str,$chinese = true,$charset = 'utf-8'){
  34. if(!self::isEmpty($str)) return false;
  35. if($chinese){
  36. $match = (strtolower($charset) == 'gb2312') ? "/^[".chr(0xa1)."-".chr(0xff)."A-Za-z0-9_-]+$/" : "/^[x{4e00}-x{9fa5}A-Za-z0-9_]+$/u";
  37. }else{
  38. $match = '/^[A-za-z0-9_-]+$/';
  39. }
  40. return preg_match($match,$str) ? true : false;
  41. }
  42. /**
  43. * 邮箱验证
  44. */
  45. public static function isEmail($str){
  46. if(!self::isEmpty($str)) return false;
  47. return preg_match("/([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?/i",$str) ? true : false;
  48. }
  49. //手机号码验证
  50. public static function isMobile($str){
  51. $exp = "/^13[0-9]程序猿笑话[0-9]{8}$|15[012356789]程序猿笑话[0-9]{8}$|18[012356789]程序猿笑话[0-9]{8}$|14[57]程序猿笑话[0-9]$/";
  52. if(preg_match($exp,$str)){
  53. return true;
  54. }else{
  55. return false;
  56. }
  57. }
  58. /**
  59. * URL验证,纯网址格式,不支持IP验证
  60. */
  61. public static function isUrl($str){
  62. if(!self::isEmpty($str)) return false;
  63. return preg_match('#(http|https|ftp|ftps)://([w-]+.)+[w-]+(/[w-./?%&=]*)?#i',$str) ? true : false;
  64. }
  65. /**
  66. * 验证中文
  67. * @param:string $str 要匹配的字符串
  68. * @param:$charset 编码(默认utf-8,支持gb2312)
  69. */
  70. public static function isChinese($str,$charset = 'utf-8'){
  71. if(!self::isEmpty($str)) return false;
  72. $match = (strtolower($charset) == 'gb2312') ? "/^[".chr(0xa1)."-".chr(0xff)."]+$/"
  73. : "/^[x{4e00}-x{9fa5}]+$/u";
  74. return preg_match($match,$str) ? true : false;
  75. }
  76. /**
  77. * UTF-8验证
  78. */
  79. public static function isUtf8($str){
  80. if(!self::isEmpty($str)) return false;
  81. return (preg_match("/^([".chr(228)."-".chr(233)."]程序猿笑话[".chr(128)."-".chr(191)."]程序猿笑话[".chr(128)."-".chr(191)."]程序猿笑话)程序猿笑话/",$word)
  82. == true || preg_match("/([".chr(228)."-".chr(233)."]程序猿笑话[".chr(128)."-".chr(191)."]程序猿笑话[".chr(128)."-".chr(191)."]程序猿笑话)程序猿笑话$/",$word)
  83. == true || preg_match("/([".chr(228)."-".chr(233)."]程序猿笑话[".chr(128)."-".chr(191)."]程序猿笑话[".chr(128)."-".chr(191)."]程序猿笑话){2,}/",$word)
  84. == true) ? true : false;
  85. }
  86. /**
  87. * 验证长度
  88. * @param: string $str
  89. * @param: int $type(方式,默认min * @param: int $min,最小值;$max,最大值;
  90. * @param: string $charset 字符
  91. */
  92. public static function length($str,$type=3,$min=0,$max=0,$charset = 'utf-8'){
  93. if(!self::isEmpty($str)) return false;
  94. $len = mb_strlen($str,$charset);
  95. switch($type){
  96. case 1: //只匹配最小值
  97. return ($len >= $min) ? true : false;
  98. break;
  99. case 2: //只匹配最大值
  100. return ($max >= $len) ? true : false;
  101. break;
  102. default: //min return (($min }
  103. }
  104. /**
  105. * 验证密码
  106. * @param string $value
  107. * @param int $length
  108. * @return boolean
  109. */
  110. public static function isPWD($value,$minLen=6,$maxLen=16){
  111. $match='/^[\\~!@#$%^&*()-_=+|{}\[\],.?\/:;\'\"\d\w]{'.$minLen.','.$maxLen.'}$/';
  112. $v = trim($value);
  113. if(empty($v))
  114. return false;
  115. return preg_match($match,$v);
  116. }
  117. /**
  118. * 验证用户名
  119. * @param string $value
  120. * @param int $length
  121. * @return boolean
  122. */
  123. public static function isNames($value, $minLen=2, $maxLen=16, $charset='ALL'){
  124. if(empty($value))
  125. return false;
  126. switch($charset){
  127. case 'EN': $match = '/^[_\w\d]{'.$minLen.','.$maxLen.'}$/iu';
  128. break;
  129. case 'CN':$match = '/^[_\x{4e00}-\x{9fa5}\d]{'.$minLen.','.$maxLen.'}$/iu';
  130. break;
  131. default:$match = '/^[_\w\d\x{4e00}-\x{9fa5}]{'.$minLen.','.$maxLen.'}$/iu';
  132. }
  133. return preg_match($match,$value);
  134. }
  135. /**
  136. * 验证邮箱
  137. * @param string $value
  138. */
  139. public static function checkZip($str){
  140. if(strlen($str)!=6){
  141. return false;
  142. }
  143. if(substr($str,0,1)==0){
  144. return false;
  145. }
  146. return true;
  147. }
  148. /**
  149. * 匹配日期
  150. * @param string $value
  151. */
  152. public static function checkDate($str){
  153. $dateArr = explode("-", $str);
  154. if (is_numeric($dateArr[0]) && is_numeric($dateArr[1]) && is_numeric($dateArr[2])) {
  155. if (($dateArr[0] >= 1000 && $timeArr[0] = 0 && $dateArr[1] = 0 && $dateArr[2] return true;
  156. else
  157. return false;
  158. }
  159. return false;
  160. }
  161. /**
  162. * 匹配时间
  163. * @param string $value
  164. */
  165. public static function checkTime($str){
  166. $timeArr = explode(":", $str);
  167. if (is_numeric($timeArr[0]) && is_numeric($timeArr[1]) && is_numeric($timeArr[2])) {
  168. if (($timeArr[0] >= 0 && $timeArr[0] = 0 && $timeArr[1] = 0 && $timeArr[2] return true;
  169. else
  170. return false;
  171. }
  172. return false;
  173. }
  174. }
复制代码
  1. dddd
复制代码


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn