php常用验证类,php常用的一些代码

// 函数名:CheckMoney($C_Money)    
// 作 用:检查数据是不是是99999.99格式    
// 参 数:$C_Money(待检验的数字)    
// 返回值:布尔值    
// 备 注:无    
//———————————————————————————–    
——-    

1.拿走客户真正ip

function multi($total, $perPage, $curPage, $pageUrl, $maxPages = 0,
$page = 10, $autoGoTo = TRUE, $simple = FALSE) {
 $multiPage = ”;
 $pageUrl .= strpos($pageUrl, ‘?’) ? ‘&’ : ‘?’;
 $realPages = 1;
 if($total > $perPage) {
  $offset = 2;

<?php
    class Verify{
        #验证用户名,$value传递值;$minLen最小长度;$maxLen最长长度;只允许下划线+汉字+英文+数字(不支持其它特殊字符)
        #@param string $value
        #@param int $length
        #@return boolean
        static function isUsername($value,$minLen=2,$maxLen=30){
            if(!$value) return false;
            return preg_match('/^[_wdx{4e00}-x{9fa5}]{'.$minLen.','.$maxLen.'}$/iu',$value);
        }

       /**
        * 是否为空
        * @param type $value
        * @return boolean
        */
        static function isEmpty($value){
            $value = trim($value);
            if(empty($value)){
                return true;
            }else{
                return false;
            }
        }

        /**
         * 判断是否大于0
         * @param unknown $value
         * @return boolean
         */
        static function isGtZero($value){
            $value = (double)$value;
            if($value>0){
                return true;
            }else{
                return false;
            }
        }

        #验证是否为指定语言,$value传递值;$minLen最小长度;$maxLen最长长度;$charset默认字符类别(en只能英文;cn只能汉字;alb数字;ALL不限制)
        #@param string $value
        #@param int $length
        #@return boolean
        static function islanguage($value,$charset='all',$minLen=1,$maxLen=50){
            if(!$value) return false;
            switch($charset){
                case 'en':$match = '/^[a-zA-Z]{'.$minLen.','.$maxLen.'}$/iu';break;
                case 'cn':$match = '/^[x{4e00}-x{9fa5}]{'.$minLen.','.$maxLen.'}$/iu';break;
                case 'alb':$match = '/^[0-9]{'.$minLen.','.$maxLen.'}$/iu';break;
                case 'enalb':$match = '/^[a-zA-Z0-9]{'.$minLen.','.$maxLen.'}$/iu';break;
                case 'all':$match = '/^[a-zA-Z0-9x{4e00}-x{9fa5}]{'.$minLen.','.$maxLen.'}$/iu';break;
                //all限制为:只能是英文或者汉字或者数字的组合
            }
            return preg_match($match,$value);
        }
        #验证密码,$value传递值;$minLen最小长度;$maxLen最长长度;
        #@param string $value
        #@param int $length
        #@return boolean
        static function isPassword($value,$minLen=6,$maxLen=16){//支持空格
            $match='/^[\~!@#$%^&*() -_=+|{}[],.?/:;'"dw]{'.$minLen.','.$maxLen.'}$/i';
            $value=trim($value);
            if(!$value) return false;
            return preg_match($match,$value);
        }

        #验证eamil,$value传递值;$minLen最小长度;$maxLen最长长度;$match正则方式
        #@param string $value
        #@param int $length
        #@return boolean
        static function isEmail($value,$minLen=6,$maxLen=60,$match='/^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$/i'){
            if(!$value) return false;
            return (strlen($value)>=$minLen && strlen($value)<=$maxLen && preg_match($match,$value))?true:false;
        }

        #格式化money,$value传递值;小数点后最多2位
        #@param string $value
        #@return boolean
        static function formatMoney($value){
            return sprintf("%1$.2f",$value);
        }

        #验证电话号码,$value传递值;$match正则方式
        #@param string $value
        #@return boolean
        static function isTelephone($value,$match='/^(0[1-9]{2,3})(-| )?d{7,8}$/'){
            //支持国际版:$match='/^[+]?([0-9]){1,3}?[ |-]?(0[1-9]{2,3})(-| )?d{7,8}$/'
            if(!$value) return false;
            return preg_match($match,$value);
        }
        #验证手机,$value传递值;$match正则方式
        #@param string $value
        #@param string $match
        #@return boolean
        static function isMobile($value,$match='/^(0)?1([3|4|5|8])+([0-9]){9,10}$/'){
            //支持国际版:([0-9]{1,5}|0)?1([3|4|5|8])+([0-9]){9,10}
            if(!$value) return false;
            return preg_match($match,$value);
        }
        #验证IP,$value传递值;$match正则方式
        #@param string $value
        #@param string $match
        #@return boolean
        static function isIP($value,$match='/^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$/'){
            if(!$value) return false;
            return preg_match($match,$value);
        }
        #验证身份证号码,$value传递值;$match正则方式
        #@param string $value
        #@param string $match
        #@return boolean
        static function isIDcard($value,$match='/^d{6}((1[89])|(2d))d{2}((0d)|(1[0-2]))((3[01])|([0-2]d))d{3}(d|X)$/i'){
            if(!$value) return false;
            else if(strlen($value)>18) return false;
            return preg_match($match,$value);
        }
        #验证URL,$value传递值;$match正则方式
        #@param string $value
        #@param string $match
        #@return boolean
        static function isURL($value,$match='/^(http://)?(https://)?([wd-]+.)+[w-]+(/[dw-./?%&=]*)?$/'){
            $value=strtolower(trim($value));
            if(!$value) return false;
            return preg_match($match,$value);    
        }
    }
    //$verify=new verify();
?>

 代码如下

 1 function getIP()
 2 {
 3     if (getenv("HTTP_X_FORWARDED_FOR")) {
 4         // 这个提到最前面,作为优先级,nginx代理会获取到用户真实ip,发在这个环境变量上,必须要nginx配置这个环境变量HTTP_X_FORWARDED_FOR
 5         $ip = getenv("HTTP_X_FORWARDED_FOR");
 6     } else {
 7         if (getenv("REMOTE_ADDR")) {
 8             // 在nginx作为反向代理的架构中,使用REMOTE_ADDR拿到的将会是反向代理的的ip,即拿到是nginx服务器的ip地址。往往表现是一个内网ip。
 9             $ip = getenv("REMOTE_ADDR");
10         } else { 
11             //getenv不支持IIS的isapi方式运行的php
12             //通过$_SERVER获取
13             if ($_SERVER['REMOTE_ADDR']) {
14                 $ip = $_SERVER['REMOTE_ADDR'];
15             } else { 
16                 if (getenv("HTTP_CLIENT_IP")) {
17                     // HTTP_CLIENT_IP攻击者可以伪造一个这样的头部信息,导致获取的是攻击者随意设置的ip地址。
18                     $ip = getenv("HTTP_CLIENT_IP");
19                 } else {
20                     $ip = "unknown";
21                 }
22             }
23         }
24     }
25     return $ip;
26 }

  $realPages = @ceil($total / $perPage);
  $pages = $maxPages && $maxPages < $realPages ? $maxPages :
$realPages;

php常用验证类,php常用的一些代码。下载地址:http://pan.baidu.com/s/1o8M8qYQ
转发地址:http://www.zuopeng.gd.cn/article/details/id/103.html

function CheckMoney($C_Money)    
{    
if (!ereg(“^[0-9][.][0-9]$”, $C_Money)) return false;    
return true;    
}    

 

  if($page > $pages) {
   $from = 1;
   $to = $pages;
  } else {
   $from = $curPage – $offset;
   $to = $from + $page – 1;
   if($from < 1) {
    $to = $curPage + 1 – $from;
    $from = 1;
    if($to – $from < $page) {
     $to = $page;
    }
   } elseif ($to > $pages) {
    $from = $pages – $page + 1;
    $to = $pages;
   }
  }

//———————————————————————————–    
——-   
  
  
//———————————————————————————–    
——-    
// 函数名:CheckEmailAddr($C_mailaddr)    
// 作 用:决断是或不是为可行邮件地址    
// 参 数:$C_mailaddr(待检验的邮件地址)    
// 返回值:布尔值    
// 备 注:无    
//———————————————————————————–    
——-    

参照他事他说加以考察一下
完善一下到手ip的措施 

  $multiPage = ($curPage – $offset > 1 && $pages > $page ? ‘<a
href=”‘.$pageUrl.’page=1″ class=”first”‘.$ajaxtarget.’>1
…</a>’ : ”).
   ($curPage > 1 && !$simple ? ‘<a
href=”‘.$pageUrl.’page=’.($curPage – 1).'”
class=”prev”‘.$ajaxtarget.’>‹‹</a>’ : ”);
  for($i = $from; $i <= $to; $i++) {
   $multiPage .= $i == $curPage ? ‘<strong>’.$i.'</strong>’
:
    ‘<a href=”‘.$pageUrl.’page=’.$i.($ajaxtarget && $i == $pages &&
$autoGoTo ? ‘#’ : ”).'”‘.$ajaxtarget.’>’.$i.'</a>’;
  }

 代码如下

 

  $multiPage .= ($curPage < $pages && !$simple ? ‘<a
href=”‘.$pageUrl.’page=’.($curPage + 1).'”
class=”next”‘.$ajaxtarget.’>››</a>’ : ”).
   ($to < $pages ? ‘<a href=”‘.$pageUrl.’page=’.$pages.'”
class=”last”‘.$ajaxtarget.’>… ‘.$realPages.'</a>’ : ”).
   (!$simple && $pages > $page && !$ajaxtarget ?
‘<kbd><input type=”text” name=”custompage” size=”3″
onkeydown=”if(event.keyCode==13)
{window.location=”.$pageUrl.’page=’+this.value; return false;}”
/></kbd>’ : ”);

function CheckEmailAddr($C_mailaddr)    
{    
if
(!eregi(“^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$”,    
$C_mailaddr))    
//(!ereg(“^[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*@[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*$”,    
$c_mailaddr))    
{    
return false;    
}    
return true;    
}    

2.curl贯彻post、get抓取多少

  $multiPage = $multiPage ? ‘<div class=”pages”>’.(!$simple ?
‘<em> ‘.$total.’ </em>’ :
”).$multiPage.'</div>’ : ”;
 }
 $maxpage = $realPages;
 return $multiPage;
}

相关文章