一個很好的PHP驗證類

WBOY
發布: 2016-07-25 08:42:57
原創
757 人瀏覽過
  1. /**
  2. * 검증 클래스
  3. *
  4. * @lastmodify 2014-5-16
  5. * @author jy625
  6. */
  7. class verifyAction{
  8. /**
  9. * null 값인지 여부
  10. */
  11. 공개 정적 함수 isEmpty($str){
  12. $str = 트림($str);
  13. return !empty($str) ? 사실 : 거짓;
  14. }
  15. /**
  16. * 숫자 확인
  17. * param:$flag: int가 정수이고 float가 부동 소수점 유형인지 여부
  18. */
  19. 공개 정적 함수 isNum($str,$flag = 'float'){
  20. if(!self::isEmpty($str)) return 거짓;
  21. if(strtolower($flag) == 'int'){
  22. return ((string)(int)$str === (string)$str) ? 사실 : 거짓;
  23. }else{
  24. return ((string)(float)$str === (string)$str) ? 사실 : 거짓;
  25. }
  26. }
  27. /**
  28. * 사용자 이름, 디렉터리 이름 등 이름 매칭
  29. * @param:string $str 매칭할 문자열
  30. * @param:$chinese 중국어 지원 여부, 기본적으로 지원, 파일 이름과 일치하는 경우 끄는 것이 좋습니다(false).
  31. * @param:$charset 인코딩(기본값 utf-8, gb2312 지원)
  32. */
  33. 공개 정적 함수 isName($str,$chinese = true,$charset = 'utf-8'){
  34. if( !self::isEmpty($str)) 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) ? 사실 : 거짓;
  41. }
  42. /**
  43. * 이메일 확인
  44. */
  45. 공개 정적 함수 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) ? 사실 : 거짓;
  48. }
  49. //手机号码验证
  50. 공개 정적 함수 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. false를 반환합니다.
  56. }
  57. }
  58. /**
  59. * URL 확인은 순수 URL 형식으로, IP 확인을 지원하지 않습니다.
  60. */
  61. 공개 정적 함수 isUrl($str){
  62. if(!self::isEmpty($str)) return false;
  63. return preg_match('#(http|https|ftp|ftps)://([w-] .) [w-] (/[w-./?%&=]*)?#i', $str) ? 사실 : 거짓;
  64. }
  65. /**
  66. * 중국어 확인
  67. * @param:string $str 일치시킬 문자열
  68. * @param:$charset 인코딩(기본값 utf-8, gb2312 지원)
  69. */
  70. 공개 정적 함수 isChina($str,$charset = 'utf-8'){
  71. if(!self::isEmpty($str) ) 거짓을 반환합니다.
  72. $match = (strtolower($charset) == 'gb2312') ? "/^[".chr(0xa1)."-".chr(0xff)."] $/"
  73. : "/^[x{4e00}-x{9fa5}] $/u";
  74. preg_match($match,$str)를 반환합니까? 사실 : 거짓;
  75. }
  76. /**
  77. * UTF-8 유효성 검사
  78. */
  79. 공개 정적 함수 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) ? 사실 : 거짓;
  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='/^ [\~!@#$%^&*()-_= |{}
  112. ,.?/:;'"dw]{'.$minLen.','.$maxLen.'}$/' ;
  113. $v = trim($value);
  114. if(empty($v))
  115. return false;
  116. return preg_match($match,$v);
  117. }
  118. /**
  119. * 驗證使用者名稱
  120. * @param string $value
  121. * @param int $length
  122. * @return boolean
  123. */
  124. public static function isNames($value, $minLen=2, $maxLen=16, $charset='ALL'){
  125. if(empty($value))
  126. return false;
  127. switch($charset){
  128. case 'EN': $match = '/^[_wd]{'.$minLen.','.$maxLen.'}$/iu';
  129. break;
  130. case 'CN':$match = '/^[_x{4e00}-x{9fa5}d]{'.$minLen.','.$maxLen.'}$/iu' ;
  131. break;
  132. default:$match = '/^[_wdx{4e00}-x{9fa5}]{'.$minLen.','.$maxLen.'}$/iu';
  133. }
  134. return preg_match($match,$value);
  135. }
  136. /**
  137. * 驗證信箱
  138. * @param string $value
  139. */
  140. public static function checkZip($str){
  141. if(strlen($ str)!=6){
  142. return false;
  143. }
  144. if(substr($str,0,1)==0){
  145. return false;
  146. }
  147. return true;
  148. }
  149. /**
  150. * 匹配日期
  151. * @param string $value
  152. */
  153. public static function checkDate($str){
  154. $dateArr = explode("-", $str);
  155. if ( is_numeric($dateArr[0]) && is_numeric($dateArr[1]) && is_numeric($dateArr[2])) {
  156. if (($dateArr[0] >= 1000 && $timeArr[0]
  157. else
  158. return false;
  159. }
  160. return false;
  161. }
  162. /**
  163. * 匹配時間
  164. * @param string $value
  165. */
  166. public static function check($str){
  167. if (> if ( ($timeArr[0] >= 0 && $timeArr[0] = 0 && $timeArr[1] = 0 && $timeArr[2] return true;
  168. else
  169. return false;
  170. }
  171. return false;
  172. }
  173. }
  174. return false;
}
}
複製程式碼
很好, PHP


相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板