亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

PHP代碼實現表單數據驗證類

2024-05-04 23:38:09
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了PHP代碼實現表單數據驗證類,需要的朋友可以參考下

下面通過一段PHP代碼實現表單數據驗證類,具體介紹如下:

非常好用方便的表單數據驗證類

 

 
  1. <?php  
  2. //驗證類 
  3. class Fun{  
  4.  
  5. function isEmpty($val)  
  6. {  
  7. if (!is_string($val)) return false; //是否是字符串類型  
  8.  
  9. if (emptyempty($val)) return false; //是否已設定  
  10.  
  11. if ($val==''return false; //是否為空  
  12.  
  13. return true;  
  14.  
  15. }  
  16. /* 
  17. ----------------------------------------------------------- 
  18. 函數名稱:isNumber 
  19. 簡要描述:檢查輸入的是否為數字 
  20. 輸入:string 
  21. 輸出:boolean 
  22. 修改日志:------ 
  23. ----------------------------------------------------------- 
  24. */ 
  25. function isNumber($val)  
  26. {  
  27. if(ereg("^[0-9]+$"$val))  
  28. return true;  
  29. return false;  
  30. }  
  31.  
  32. /* 
  33. ----------------------------------------------------------- 
  34. 函數名稱:isPhone 
  35. 簡要描述:檢查輸入的是否為電話 
  36. 輸入:string 
  37. 輸出:boolean 
  38. 修改日志:------ 
  39. ----------------------------------------------------------- 
  40. */ 
  41. function isPhone($val)  
  42. {  
  43. //eg: xxx-xxxxxxxx-xxx | xxxx-xxxxxxx-xxx ...  
  44. if(ereg("^((0/d{2,3})-)(/d{7,8})(-(/d{3,}))?$",$val))  
  45. return true;  
  46. return false;  
  47. }  
  48.  
  49. /* 
  50. ----------------------------------------------------------- 
  51. 函數名稱:isPostcode 
  52. 簡要描述:檢查輸入的是否為郵編 
  53. 輸入:string 
  54. 輸出:boolean 
  55. 修改日志:------ 
  56. ----------------------------------------------------------- 
  57. */ 
  58. function isPostcode($val)  
  59. {  
  60. if(ereg("^[0-9]{4,6}$",$val))  
  61. return true;  
  62. return false;  
  63. }  
  64.  
  65. /* 
  66. ----------------------------------------------------------- 
  67. 函數名稱:isEmail 
  68. 簡要描述:郵箱地址合法性檢查 
  69. 輸入:string 
  70. 輸出:boolean 
  71. 修改日志:------ 
  72. ----------------------------------------------------------- 
  73. */ 
  74. function isEmail($val,$domain="")  
  75. {  
  76. if(!$domain)  
  77. {  
  78. if( preg_match("/^[a-z0-9-_.]+@[/da-z][/./w-]+/.[a-z]{2,4}$/i"$val) )  
  79. {  
  80. return true;  
  81. }  
  82. else 
  83. return false;  
  84. }  
  85. else 
  86. {  
  87. if( preg_match("/^[a-z0-9-_.]+@".$domain."$/i"$val) )  
  88. {  
  89. return true;  
  90. }  
  91. else 
  92. return false;  
  93. }  
  94. }//end func  
  95.  
  96. /* 
  97. ----------------------------------------------------------- 
  98. 函數名稱:isName 
  99. 簡要描述:姓名昵稱合法性檢查,只能輸入中文英文 
  100. 輸入:string 
  101. 輸出:boolean 
  102. 修改日志:------ 
  103. ----------------------------------------------------------- 
  104. */ 
  105. function isName($val)  
  106. {  
  107. if( preg_match("/^[/x80-/xffa-zA-Z0-9]{3,60}$/"$val) )//2008-7-24  
  108. {  
  109. return true;  
  110. }  
  111. return false;  
  112. }//end func  
  113.  
  114.  
  115. /* 
  116. ----------------------------------------------------------- 
  117. 函數名稱:isStrLength($theelement, $min, $max) 
  118. 簡要描述:檢查字符串長度是否符合要求 
  119. 輸入:mixed (字符串,最小長度,最大長度) 
  120. 輸出:boolean 
  121. 修改日志:------ 
  122. ----------------------------------------------------------- 
  123. */ 
  124. function isStrLength($val$min$max)  
  125. {  
  126. $theelement= trim($val);  
  127. if(ereg("^[a-zA-Z0-9]{".$min.",".$max."}$",$val))  
  128. return true;  
  129. return false;  
  130. }  
  131.  
  132.  
  133. /* 
  134. ----------------------------------------------------------- 
  135. 函數名稱:isNumberLength($theelement, $min, $max) 
  136. 簡要描述:檢查字符串長度是否符合要求 
  137. 輸入:mixed (字符串,最小長度,最大長度) 
  138. 輸出:boolean 
  139. 修改日志:------ 
  140. ----------------------------------------------------------- 
  141. */ 
  142. function isNumLength($val$min$max)  
  143. {  
  144. $theelement= trim($val);  
  145. if(ereg("^[0-9]{".$min.",".$max."}$",$val))  
  146. return true;  
  147. return false;  
  148. }  
  149.  
  150. /* 
  151. ----------------------------------------------------------- 
  152. 函數名稱:isNumberLength($theelement, $min, $max) 
  153. 簡要描述:檢查字符串長度是否符合要求 
  154. 輸入:mixed (字符串,最小長度,最大長度) 
  155. 輸出:boolean 
  156. 修改日志:------ 
  157. ----------------------------------------------------------- 
  158. */ 
  159. function isEngLength($val$min$max)  
  160. {  
  161. $theelement= trim($val);  
  162. if(ereg("^[a-zA-Z]{".$min.",".$max."}$",$val))  
  163. return true;  
  164. return false;  
  165. }  
  166.  
  167. /* 
  168. ----------------------------------------------------------- 
  169. 函數名稱:isEnglish 
  170. 簡要描述:檢查輸入是否為英文 
  171. 輸入:string 
  172. 輸出:boolean 
  173. 作者:------ 
  174. 修改日志:------ 
  175. ----------------------------------------------------------- 
  176. */ 
  177. function isEnglish($theelement)  
  178. {  
  179. ifereg("[/x80-/xff].",$theelement) )  
  180. {  
  181. Return false;  
  182. }  
  183. Return true;  
  184. }  
  185.  
  186. /* 
  187. ----------------------------------------------------------- 
  188. 函數名稱:isChinese 
  189. 簡要描述:檢查是否輸入為漢字 
  190. 輸入:string 
  191. 輸出:boolean 
  192. 修改日志:------ 
  193. ----------------------------------------------------------- 
  194. */ 
  195. /* 
  196. function isChinese($sInBuf)//有問題的函數 
  197. { 
  198. $iLen= strlen($sInBuf); 
  199. for($i= 0; $i< $iLen; $i++) 
  200. { 
  201. if(ord($sInBuf{$i})>=0x80) 
  202. { 
  203. if( (ord($sInBuf{$i})>=0x81 && ord($sInBuf{$i})<=0xFE) && ((ord($sInBuf{$i+1})>=0x40 && ord($sInBuf{$i+1}) < 0x7E) || (ord($sInBuf{$i+1}) > 0x7E && ord($sInBuf{$i+1})<=0xFE)) ) 
  204. { 
  205. if(ord($sInBuf{$i})>0xA0 && ord($sInBuf{$i})<0xAA) 
  206. { 
  207. //有中文標點 
  208. return false; 
  209. } 
  210. } 
  211. else 
  212. { 
  213. //有日文或其它文字 
  214. return false; 
  215. } 
  216. $i++; 
  217. } 
  218. else 
  219. { 
  220. return false; 
  221. } 
  222. } 
  223. return true; 
  224. }*/ 
  225.  
  226.  
  227. function isChinese($sInBuf)//正確的函數  
  228. {  
  229. if (preg_match("/^[/x7f-/xff]+$/"$sInBuf)) { //兼容gb2312,utf-8  
  230.  
  231. return true;  
  232. }  
  233. else 
  234. {  
  235. return false;  
  236. }  
  237. }  
  238. /* 
  239. ----------------------------------------------------------- 
  240. 函數名稱:isDomain($Domain) 
  241. 簡要描述:檢查一個(英文)域名是否合法 
  242. 輸入:string 域名 
  243. 輸出:boolean 
  244. 修改日志:------ 
  245. ----------------------------------------------------------- 
  246. */ 
  247. function isDomain($Domain)  
  248. {  
  249. if(!eregi("^[0-9a-z]+[0-9a-z/.-]+[0-9a-z]+$"$Domain))  
  250. {  
  251. Return false;  
  252. }  
  253. if( !eregi("/."$Domain))  
  254. {  
  255. Return false;  
  256. }  
  257.  
  258. if(eregi("/-/."$Domainor eregi("/-/-"$Domainor eregi("/./."$Domainor eregi("/./-"$Domain))  
  259. {  
  260. Return false;  
  261. }  
  262.  
  263. $aDomainexplode(".",$Domain);  
  264. if( !eregi("[a-zA-Z]",$aDomain[count($aDomain)-1]) )  
  265. {  
  266. Return false;  
  267. }  
  268.  
  269. if(strlen($aDomain[0]) > 63 || strlen($aDomain[0]) < 1)  
  270. {  
  271. Return false;  
  272. }  
  273. Return true;  
  274. }  
  275. /** 
  276. * 驗證是否日期的函數 
  277. * @param unknown_type $date 
  278. * @param unknown_type $format 
  279. * @throws Exception 
  280. * @return boolean 
  281. */ 
  282. function validateDate( $date$format='YYYY-MM-DD')  
  283. {  
  284. switch$format )  
  285. {  
  286. case 'YYYY/MM/DD':  
  287. case 'YYYY-MM-DD':  
  288. list( $y$m$d ) = preg_split( '/[-./ ]/'$date );  
  289. break;  
  290.  
  291. case 'YYYY/DD/MM':  
  292. case 'YYYY-DD-MM':  
  293. list( $y$d$m ) = preg_split( '/[-./ ]/'$date );  
  294. break;  
  295.  
  296. case 'DD-MM-YYYY':  
  297. case 'DD/MM/YYYY':  
  298. list( $d$m$y ) = preg_split( '/[-./ ]/'$date );  
  299. break;  
  300.  
  301. case 'MM-DD-YYYY':  
  302. case 'MM/DD/YYYY':  
  303. list( $m$d$y ) = preg_split( '/[-./ ]/'$date );  
  304. break;  
  305.  
  306. case 'YYYYMMDD':  
  307. $y = substr$date, 0, 4 );  
  308. $m = substr$date, 4, 2 );  
  309. $d = substr$date, 6, 2 );  
  310. break;  
  311.  
  312. case 'YYYYDDMM':  
  313. $y = substr$date, 0, 4 );  
  314. $d = substr$date, 4, 2 );  
  315. $m = substr$date, 6, 2 );  
  316. break;  
  317.  
  318. default:  
  319. throw new Exception( "Invalid Date Format" );  
  320. }  
  321. return checkdate$m$d$y );  
  322. }  
  323.  
  324.  
  325. /* 
  326. ----------------------------------------------------------- 
  327. 函數名稱:isDate 
  328. 簡要描述:檢查日期是否符合0000-00-00 
  329. 輸入:string 
  330. 輸出:boolean 
  331. 修改日志:------ 
  332. ----------------------------------------------------------- 
  333. */ 
  334. function isDate($sDate)  
  335. {  
  336. ifereg("^[0-9]{4}/-[][0-9]{2}/-[0-9]{2}$",$sDate) )  
  337. {  
  338. Return true;  
  339. }  
  340. else 
  341. {  
  342. Return false;  
  343. }  
  344. }  
  345. /* 
  346. ----------------------------------------------------------- 
  347. 函數名稱:isTime 
  348. 簡要描述:檢查日期是否符合0000-00-00 00:00:00 
  349. 輸入:string 
  350. 輸出:boolean 
  351. 修改日志:------ 
  352. ----------------------------------------------------------- 
  353. */ 
  354. function isTime($sTime)  
  355. {  
  356. ifereg("^[0-9]{4}/-[][0-9]{2}/-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$",$sTime) )  
  357. {  
  358. Return true;  
  359. }  
  360. else 
  361. {  
  362. Return false;  
  363. }  
  364. }  
  365.  
  366. /* 
  367. ----------------------------------------------------------- 
  368. 函數名稱:isMoney($val) 
  369. 簡要描述:檢查輸入值是否為合法人民幣格式 
  370. 輸入:string 
  371. 輸出:boolean 
  372. 修改日志:------ 
  373. ----------------------------------------------------------- 
  374. */ 
  375. function isMoney($val)  
  376. {  
  377. if(ereg("^[0-9]{1,}$"$val))  
  378. return true;  
  379. ifereg("^[0-9]{1,}/.[0-9]{1,2}$"$val) )  
  380. return true;  
  381. return false;  
  382. }  
  383.  
  384. /* 
  385. ----------------------------------------------------------- 
  386. 函數名稱:isIp($val) 
  387. 簡要描述:檢查輸入IP是否符合要求 
  388. 輸入:string 
  389. 輸出:boolean 
  390. 修改日志:------ 
  391. ----------------------------------------------------------- 
  392. */ 
  393. function isIp($val)  
  394. {  
  395. return(bool) ip2long($val);  
  396. }  
  397. //-----------------------------------------------------------------------------  
  398.  
  399.  
  400.  
  401. /** 
  402. * 驗證手機號 
  403. * @param int $mobile 
  404. */ 
  405. function valid_mobile($mobile){  
  406. if(strlen($mobile)!=11) return false;  
  407. if(preg_match('/13[0-9]/d{8}|15[0|1|2|3|5|6|7|8|9]/d{8}|18[0|5|6|7|8|9]/d{8}/',$mobile)){  
  408. return true;  
  409. }else{  
  410. return false;  
  411. }  
  412. }  
  413.  
  414. /** 
  415. * 縮略圖生成函數,最好使用GD2 
  416. * 
  417. * @param string $srcFile 要生成縮略圖的文件 
  418. * @param int $toW 縮略圖寬度 
  419. * @param int $toH 縮略圖高度 
  420. * @param string $toFile 縮略圖文件 
  421. */ 
  422. function ImageResize($srcFile,$toW,$toH,$toFile=""){  
  423. if($toFile==""){ $toFile = $srcFile; }  
  424. $info = "";  
  425. $data = GetImageSize($srcFile,$info);  
  426. switch ($data[2]){  
  427. case 1:  
  428. if(!function_exists("imagecreatefromgif")){  
  429. //echo "你的GD庫不能使用GIF格式的圖片,請使用Jpeg或PNG格式!<a href='javascript:go(-1);'>返回</a>";  
  430. return false;  
  431. }  
  432. $im = ImageCreateFromGIF($srcFile);  
  433. break;  
  434. case 2:  
  435. if(!function_exists("imagecreatefromjpeg")){  
  436. //echo "你的GD庫不能使用jpeg格式的圖片,請使用其它格式的圖片!<a href='javascript:go(-1);'>返回</a>";  
  437. return false;  
  438. }  
  439. $im = ImageCreateFromJpeg($srcFile);  
  440. break;  
  441. case 3:  
  442. $im = ImageCreateFromPNG($srcFile);  
  443. break;  
  444. }  
  445. $srcW=ImageSX($im);  
  446. $srcH=ImageSY($im);  
  447. $toWH=$toW/$toH;  
  448. $srcWH=$srcW/$srcH;  
  449. if($toWH<=$srcWH){  
  450. $ftoW=$toW;  
  451. $ftoH=$ftoW*($srcH/$srcW);  
  452. }  
  453. else{  
  454. $ftoH=$toH;  
  455. $ftoW=$ftoH*($srcW/$srcH);  
  456. }  
  457. if($srcW>$toW||$srcH>$toH)  
  458. {  
  459. if(function_exists("imagecreatetruecolor")){  
  460. @$ni = ImageCreateTrueColor($ftoW,$ftoH);  
  461. if($ni) ImageCopyResampled($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);  
  462. else{  
  463. $ni=ImageCreate($ftoW,$ftoH);  
  464. ImageCopyResized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);  
  465. }  
  466. }else{  
  467. $ni=ImageCreate($ftoW,$ftoH);  
  468. ImageCopyResized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);  
  469. }  
  470. if(function_exists('imagejpeg')) ImageJpeg($ni,$toFile);  
  471. else ImagePNG($ni,$toFile);  
  472. ImageDestroy($ni);  
  473. }else{  
  474. ImageDestroy($im);  
  475. return false;  
  476. }  
  477. ImageDestroy($im);  
  478. return true;  
  479. }  
  480.  
  481.  
  482.  
  483. //去除字符串空格  
  484. static function strTrim($str)  
  485. {  
  486. return preg_replace("//s/","",$str);  
  487. }  
  488.  
  489. //驗證用戶名  
  490. static function userName($str,$type,$len)  
  491. {  
  492. $str=self::strTrim($str);  
  493. if($len<strlen($str))  
  494. {  
  495. return false;  
  496. }else{  
  497. switch($type)  
  498. {  
  499. case "EN"://純英文  
  500. if(preg_match("/^[a-zA-Z]+$/",$str))  
  501. {  
  502. return true;  
  503. }else{  
  504. return false;  
  505. }  
  506. break;  
  507. case "ENNUM"://英文數字  
  508. if(preg_match("/^[a-zA-Z0-9]+$/",$str))  
  509. {  
  510. return true;  
  511. }else{  
  512. return false;  
  513. }  
  514. break;  
  515. case "ALL"//允許的符號(|-_字母數字)  
  516. if(preg_match("/^[/|/-/_a-zA-Z0-9]+$/",$str))  
  517. {  
  518. return true;  
  519. }else{  
  520. return false;  
  521. }  
  522. break;  
  523. }  
  524. }  
  525. }  
  526.  
  527. //驗證密碼長度  
  528. static function passWord($min,$max,$str)  
  529. {  
  530. $str=self::strTrim($str);  
  531. if(strlen($str)>=$min && strlen($str)<=$max)  
  532. {  
  533. return true;  
  534. }else{  
  535. return false;  
  536. }  
  537. }  
  538.  
  539. //驗證Email  
  540. static function Email($str)  
  541. {  
  542. $str=self::strTrim($str);  
  543.  
  544. if(preg_match("/^([a-z0-9_]|//-|//.)+@(([a-z0-9_]|//-)+//.){1,2}[a-z]{2,4}$/i",$str))  
  545. {  
  546. return true;  
  547. }else{  
  548. return false;  
  549. }  
  550.  
  551. }  
  552.  
  553. //驗證身份證(中國)  
  554. static function idCard($str)  
  555. {  
  556. $str=self::strTrim($str);  
  557. if(preg_match("/^([0-9]{15}|[0-9]{17}[0-9a-z])$/i",$str))  
  558. {  
  559. return true;  
  560. }else{  
  561. return false;  
  562. }  
  563. }  
  564.  
  565. //驗證座機電話  
  566. static function Phone($type,$str)  
  567. {  
  568. $str=self::strTrim($str);  
  569. switch($type)  
  570. {  
  571. case "CHN":  
  572. if(preg_match("/^([0-9]{3}|0[0-9]{3})-[0-9]{7,8}$/",$str))  
  573. {  
  574. return true;  
  575. }else{  
  576. return false;  
  577. }  
  578. break;  
  579. case "INT":  
  580. if(preg_match("/^[0-9]{4}-([0-9]{3}|0[0-9]{3})-[0-9]{7,8}$/",$str))  
  581. {  
  582. return true;  
  583. }else{  
  584. return false;  
  585. }  
  586. break;  
  587. }  
  588. }  
  589.  
  590. /** 
  591. * 過濾二維數組的值 
  592. * @param 二維數組 $arr_data 
  593. * @param 一維數組 $field 
  594. * @return Ambigous <multitype:, string, unknown> 
  595. */ 
  596. function getarrayfield($arr_data$field)  
  597. {  
  598. $resultArr = array();  
  599. foreach ( $arr_data as $key => $value ) {  
  600. foreach ($field as $k=>$v)  
  601. {  
  602. if(array_key_exists($v$value))//存在才添加  
  603. {  
  604. $resultArr[$key][$v] =$value[$v] ;  
  605. }  
  606. else 
  607. {  
  608. $resultArr[$key][$v]="不存在這個列";  
  609. }  
  610. }  
  611. }  
  612.  
  613. return $resultArr;  
  614. }  
  615. /** 
  616. * 獲取客戶端IP地址 
  617. * @return ip 
  618. */ 
  619. function get_client_ip(){  
  620. if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))  
  621. $ip = getenv("HTTP_CLIENT_IP");  
  622. else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))  
  623. $ip = getenv("HTTP_X_FORWARDED_FOR");  
  624. else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))  
  625. $ip = getenv("REMOTE_ADDR");  
  626. else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))  
  627. $ip = $_SERVER['REMOTE_ADDR'];  
  628. else 
  629. $ip = "unknown";  
  630. return($ip);  
  631. }  
  632.  
  633. function get_http_user_agent(){  
  634. return isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : "";  
  635. }  
  636.  
  637. /** 
  638. * 從IP地址獲取真實地址 
  639. * @param IP $ip 
  640. */ 
  641. function get_address_from_ip($ip){  
  642. $url='http://www.youdao.com/smartresult-xml/search.s?type=ip&q=';  
  643. $xml=file_get_contents($url.$ip);  
  644. $data=simplexml_load_string($xml);  
  645. return $data->product->location;  
  646. }  
  647.  
  648.  
  649. /** 
  650. * 產生隨機字串,可用來自動生成密碼 默認長度6位 字母和數字混合 
  651. * @param string $len 長度 
  652. * @param string $type 字串類型 
  653. * 0 字母 1 數字 2 大寫字母 3 小寫字母 默認混合 4中文 
  654. * @param string $addChars 額外字符 
  655. * @return string 
  656. */ 
  657. function rand_string($len=6,$type='',$addChars='') {  
  658. $str ='';  
  659. switch($type) {  
  660. case 0:  
  661. $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.$addChars;  
  662. break;  
  663. case 1:  
  664. $charsstr_repeat('0123456789',3);  
  665. break;  
  666. case 2:  
  667. $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZ'.$addChars;  
  668. break;  
  669. case 3:  
  670. $chars='abcdefghijklmnopqrstuvwxyz'.$addChars;  
  671. break;  
  672. case 4:  
  673. $chars = "們以我到他會作時要動國產的一是工就年階義發成部民可出能方進在了不和有大這主中人上為來分生對于學下級地個用同行面說種過命度革而多子后自社加小機也經力線本電高量長黨得實家定深法表著水理化爭現所二起政三好十戰無農使性前等反體合斗路圖把結第里正新開論之物從當兩些還天資事隊批點育重其思與間內去因件日利相由壓員氣業代全組數果期導平各基或月毛然如應形想制心樣干都向變關問比展那它最及外沒看治提五解系林者米群頭意只明四道馬認次文通但條較克又公孔領軍流入接席位情運器并飛原油放立題質指建區驗活眾很教決特此常石強極土少已根共直團統式轉別造切九你取西持總料連任志觀調七么山程百報更見必真保熱委手改管處己將修支識病象幾先老光專什六型具示復安帶每東增則完風回南廣勞輪科北打積車計給節做務被整聯步類集號列溫裝即毫知軸研單色堅據速防史拉世設達爾場織歷花受求傳口斷況采精金界品判參層止邊清至萬確究書術狀廠須離再目海交權且兒青才證低越際八試規斯近注辦布門鐵需走議縣兵固除般引齒千勝細影濟白格效置推空配刀葉率述今選養德話查差半敵始片施響收華覺備名紅續均藥標記難存測士身緊液派準斤角降維板許破述技消底床田勢端感往神便賀村構照容非搞亞磨族火段算適講按值美態黃易彪服早班麥削信排臺聲該擊素張密害侯草何樹肥繼右屬市嚴徑螺檢左頁抗蘇顯苦英快稱壞移約巴材省黑武培著河帝僅針怎植京助升王眼她抓含苗副雜普談圍食射源例致酸舊卻充足短劃劑宣環落首尺波承粉踐府魚隨考刻靠夠滿夫失包住促枝局菌桿周護巖師舉曲春元超負砂封換太模貧減陽揚江析畝木言球朝醫校古呢稻宋聽唯輸滑站另衛字鼓剛寫劉微略范供阿塊某功套友限項余倒卷創律雨讓骨遠幫初皮播優占死毒圈偉季訓控激找叫云互跟裂糧粒母練塞鋼頂策雙留誤礎吸阻故寸盾晚絲女散焊功株親院冷徹彈錯散商視藝滅版烈零室輕血倍缺厘泵察絕富城沖噴壤簡否柱李望盤磁雄似困鞏益洲脫投送奴側潤蓋揮距觸星松送獲興獨官混紀依未突架寬冬章濕偏紋吃執閥礦寨責熟穩奪硬價努翻奇甲預職評讀背協損棉侵灰雖矛厚羅泥辟告卵箱掌氧恩愛停曾溶營終綱孟錢待盡俄縮沙退陳討奮械載胞幼哪剝迫旋征槽倒握擔仍呀鮮吧卡粗介鉆逐弱腳怕鹽末陰豐霧冠丙街萊貝輻腸付吉滲瑞驚頓擠秒懸姆爛森糖圣凹陶詞遲蠶億矩康遵牧遭幅園腔訂香肉弟屋敏恢忘編印蜂急拿擴傷飛露核緣游振操央伍域甚迅輝異序免紙夜鄉久隸缸夾念蘭映溝乙嗎儒殺汽磷艱晶插埃燃歡鐵補咱芽永瓦傾陣碳演威附牙芽永瓦斜灌歐獻順豬洋腐請透司危括脈宜笑若尾束壯暴企菜穗楚漢愈綠拖牛份染既秋遍鍛玉夏療尖殖井費州訪吹榮銅沿替滾客召旱悟刺腦措貫藏敢令隙爐殼硫煤迎鑄粘探臨薄旬善??v擇禮愿伏殘雷延煙句純漸耕跑澤慢栽魯赤繁境潮橫掉錐希池敗船假亮謂托伙哲懷割擺貢呈勁財儀沉煉麻罪祖息車穿貨銷齊鼠抽畫飼龍庫守筑房歌寒喜哥洗蝕廢納腹乎錄鏡婦惡脂莊擦險贊鐘搖典柄辯竹谷賣亂虛橋奧伯趕垂途額壁網截野遺靜謀弄掛課鎮妄盛耐援扎慮鍵歸符慶聚繞摩忙舞遇索顧膠羊湖釘仁音跡碎伸燈避泛亡答勇頻皇柳哈揭甘諾概憲濃島襲誰洪謝炮澆斑訊懂靈蛋閉孩釋乳巨徒私銀伊景坦累勻霉杜樂勒隔彎績招紹胡呼痛峰零柴簧午跳居尚丁秦稍追梁折耗堿殊崗挖氏刃劇堆赫荷胸衡勤膜篇登駐案刊秧緩凸役剪川雪鏈漁啦臉戶洛孢勃盟買楊宗焦賽旗濾硅炭股坐蒸凝竟陷槍黎救冒暗洞犯筒您宋弧爆謬涂味津臂障褐陸啊健尊豆拔莫抵桑坡縫警挑污冰柬嘴啥飯塑寄趙喊墊丹渡耳刨虎筆稀昆浪薩茶滴淺擁穴覆倫娘噸浸袖珠雌媽紫戲塔錘震歲貌潔剖牢鋒疑霸閃埔猛訴刷狠忽災鬧喬唐漏聞沈熔氯荒莖男凡搶像漿旁玻亦忠唱蒙予紛捕鎖尤乘烏智淡允叛畜俘摸銹掃畢璃寶芯爺鑒秘凈蔣鈣肩騰枯拋軌堂拌爸循誘祝勵肯酒繩窮塘燥泡袋朗喂鋁軟渠顆慣貿糞綜墻趨彼屆墨礙啟逆卸航衣孫齡嶺騙休借".$addChars;  
  674. break;  
  675. case 5:  
  676. $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'.$addChars;  
  677. break;  
  678. default :  
  679. // 默認去掉了容易混淆的字符oOLl和數字01,要添加請使用addChars參數  
  680. $chars='ABCDEFGHIJKMNPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789'.$addChars;  
  681. break;  
  682. }  
  683. if($len>10 ) {//位數過長重復字符串一定次數  
  684. $chars$type==1? str_repeat($chars,$len) : str_repeat($chars,5);  
  685. }  
  686.  
  687. if($type == 4){ // 處理中文  
  688. $chars = preg_replace('/[^//x{4e00}-//x{9fa5}]/u'''$chars); // //干掉非utf8中文字符  
  689. $chars = chunk_split($chars,3,","); // //每隔3個字符插入一個“,”,轉換為數組使用,使用strlen()測出php中一個中文霸占了3個  
  690. $re = explode(",",$chars);  
  691. shuffle($re);//隨機重新排序數組  
  692. $chars = implode($re);  
  693. unset($re);  
  694. $str = mb_substr($chars,0,$len,"utf-8");  
  695. }else{  
  696. $chars = str_shuffle($chars);  
  697. $str = substr($chars,0,$len);  
  698. }  
  699.  
  700. return $str;  
  701. }  
  702.  
  703. //獲取url中參數的值  
  704. function geturlval($url,$name)  
  705. {  
  706. $arr = parse_url($url);  
  707. $arr_query = $this->convertUrlQuery($arr['query']);  
  708.  
  709. return $arr_query[$name];  
  710.  
  711. }  
  712. function convertUrlQuery($query)  
  713. {  
  714. $queryParts = explode('&'$query);  
  715.  
  716. $params = array();  
  717. foreach ($queryParts as $param)  
  718. {  
  719. $item = explode('='$param);  
  720. $params[$item[0]] = $item[1];  
  721. }  
  722.  
  723. return $params;  
  724. }  
  725. /** 
  726. * 抓取遠程圖片 
  727. * 
  728. * @param string $url 遠程圖片路徑 
  729. * @param string $filename 本地存儲文件名 
  730. */ 
  731. function grabImage($url$savepath) {  
  732. if($url =="") {  
  733. return false; //如果 $url 為空則返回 false;  
  734. }  
  735. $ext_name = strrchr($url'.'); //獲取圖片的擴展名  
  736. if($ext_name != '.gif' && $ext_name != '.jpg' && $ext_name != '.bmp' && $ext_name != '.png') {  
  737. return false; //格式不在允許的范圍  
  738. }  
  739. //獲取原圖片名  
  740. $filename = $savepath.'//'.end(explode('/',$url));  
  741. //開始捕獲  
  742. ob_start();  
  743. readfile($url);  
  744. $img_data = ob_get_contents();  
  745. ob_end_clean();  
  746. $size = strlen($img_data);  
  747. $local_file = fopen($filename , 'a');  
  748. echo $filename;  
  749. if(fwrite($local_file$img_data)== FALSE){  
  750. echo '圖片下載失敗';  
  751. }  
  752. fclose($local_file);  
  753. return $filename;  
  754. }  
  755.  
  756. }  
  757. ?> 

以上就用php代碼實現表單數據驗證類的全部內容,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产免费亚洲高清| 久久久黄色av| 国产一区二区日韩精品欧美精品| 亚洲精品之草原avav久久| 欧美一级免费视频| www高清在线视频日韩欧美| 成人黄色在线免费| 中文字幕最新精品| 国产精品video| 日韩中文字幕在线播放| 久久免费精品视频| xxx成人少妇69| 91最新在线免费观看| 国产一区二区三区四区福利| 久久久久亚洲精品成人网小说| 色综合久久中文字幕综合网小说| 欧美黄色www| 亚洲精品色婷婷福利天堂| 91久久精品美女高潮| 午夜精品久久久久久久99黑人| 国产精品久久久久久久久久久久| 日韩亚洲精品视频| 国内精品视频一区| 亚洲精品女av网站| 97视频在线观看亚洲| 不卡av日日日| 亚洲va欧美va在线观看| 日韩成人xxxx| 日韩在线观看免费全集电视剧网站| 午夜精品在线观看| 久久91精品国产91久久久| 国产在线拍揄自揄视频不卡99| 国产精品揄拍500视频| 亚洲成人精品视频| 国产精品h在线观看| 亚洲一级黄色片| 久久久伊人欧美| 色婷婷综合成人| 日韩av免费网站| 亚洲欧洲日产国产网站| 国产999视频| 国产999视频| 亚洲精品久久久久中文字幕欢迎你| 亚洲国产成人精品电影| 国产精品av免费在线观看| 国产欧美韩国高清| 欧美激情xxxxx| 成人免费网站在线观看| 国产一区二区三区高清在线观看| 性色av一区二区三区红粉影视| 欧美在线观看www| 日韩av在线天堂网| 国产成人黄色av| 97精品国产aⅴ7777| 国产91精品久久久| 日韩激情在线视频| 国产精品日日摸夜夜添夜夜av| 国产精品自产拍在线观| 欧美激情在线播放| 这里只有精品丝袜| 91香蕉嫩草影院入口| 青青久久aⅴ北条麻妃| 欧美激情女人20p| 黑人精品xxx一区一二区| 亚洲成人久久一区| 国产成人久久久精品一区| 亚洲综合在线中文字幕| 久久婷婷国产麻豆91天堂| 久久久久日韩精品久久久男男| 91精品国产成人www| 久久精品人人做人人爽| 久久精品国产一区| 亚洲综合视频1区| 国产不卡视频在线| 欧美极度另类性三渗透| 日韩高清av一区二区三区| 国产精品视频999| 日韩高清电影好看的电视剧电影| 久久久久久久久久久免费| 日韩在线视频中文字幕| 亚洲精品一区二区在线| 国产精品wwwwww| 欧美午夜女人视频在线| 欧美精品在线极品| 国产精品一区二区在线| 中文日韩在线观看| 欧美精品一区在线播放| 日韩成人久久久| 曰本色欧美视频在线| 亚洲老司机av| 欧美一区二区大胆人体摄影专业网站| 国产精品吊钟奶在线| 久久资源免费视频| 日韩精品中文字| 日韩亚洲在线观看| 亚洲尤物视频网| 国产91在线高潮白浆在线观看| 欧美成人激情视频| 欧洲成人免费视频| 日韩中文字幕在线免费观看| 亚洲国产成人精品电影| 国产精品成人在线| 亚洲另类图片色| 夜色77av精品影院| 久久久亚洲影院| 5566成人精品视频免费| 亚洲爱爱爱爱爱| 亚洲网在线观看| 日韩最新免费不卡| 一区二区三区在线播放欧美| 少妇精69xxtheporn| 亚洲www在线| 日韩精品福利网站| 成人久久久久久| 中文字幕精品一区久久久久| 最近2019中文字幕第三页视频| 日韩精品极品毛片系列视频| 中文字幕日本欧美| 久久精品国产视频| 国产精品久久久久久久久免费| 国产欧美日韩高清| 九九精品在线播放| 色综合天天综合网国产成人网| 国产精品视频在线播放| 国产亚洲一区精品| 欧美极品美女视频网站在线观看免费| 成人a在线观看| 欧美日韩美女视频| 欧美精品videosex牲欧美| 午夜精品一区二区三区av| 欧美性猛交xxxx| 国产在线播放不卡| 欧美专区在线播放| 欧美黑人xxx| 久久天天躁狠狠躁夜夜爽蜜月| 国产成人av网址| 超碰91人人草人人干| 亚洲精品成人久久电影| 亚洲午夜久久久久久久| 亚洲深夜福利视频| 日韩av网站导航| 欧美久久精品一级黑人c片| 国产精品美女久久久免费| 久久久这里只有精品视频| 国产精品美女免费视频| 亚洲欧美日韩在线一区| 亚洲最新在线视频| 欧美成人手机在线| 国产欧美日韩免费看aⅴ视频| 69国产精品成人在线播放| 高清欧美一区二区三区| 久久久久久国产精品| 久久免费国产精品1| 精品久久久久久久久久久久久久| 亚洲精品之草原avav久久| 国产精自产拍久久久久久蜜| 亚洲欧美另类中文字幕| 日本精品久久中文字幕佐佐木| 国产精品视频内| 国产精品第七影院| 欧美日韩中文字幕日韩欧美| 17婷婷久久www| 91精品国产99久久久久久| 国产97色在线|