PHP验证函数(包括email,url,日期等等)

<?php  
/** 
 * zouhao619@gmail.com  zouhao 
 * 一些验证方法 
 */  
/** 
 * 是否是手机号码 
 * 
 * @param string $phone 手机号码 
 * @return boolean 
 */  
function is_phone($phone) {  
    if (strlen ( $phone ) != 11 || ! preg_match ( '/^1[3|4|5|8][0-9]\d{4,8}$/', $phone )) {  
        return false;  
    } else {  
        return true;  
    }  
}  
/** 
 * 验证字符串是否为数字,字母,中文和下划线构成 
 * @param string $username 
 * @return bool 
 */  
function is_check_string($str){  
    if(preg_match('/^[\x{4e00}-\x{9fa5}\w_]+$/u',$str)){  
        return true;  
    }else{  
        return false;  
    }  
}  
/** 
 * 是否为一个合法的email 
 * @param sting $email 
 * @return boolean 
 */  
function is_email($email){  
    if (filter_var ($email, FILTER_VALIDATE_EMAIL )) {  
        return true;  
    } else {  
        return false;  
    }  
}

/**
 *邮箱验证还可以使用这种方法
 *此方法借鉴ecshop    
 */
 
 function is_email($user_email)
{
    $chars = "/^([a-z0-9+_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,6}\$/i";
    if (strpos($user_email, '@') !== false && strpos($user_email, '.') !== false)
    {
        if (preg_match($chars, $user_email))
        {
            return true;
        }
        else
        {
            return false;
        }
    }
    else
    {
        return false;
    }
}





  
/** 
 * 是否为一个合法的url 
 * @param string $url 
 * @return boolean 
 */  
function is_url($url){  
    if (filter_var ($url, FILTER_VALIDATE_URL )) {  
        return true;  
    } else {  
        return false;  
    }  
}  
/** 
 * 是否为一个合法的ip地址 
 * @param string $ip 
 * @return boolean 
 */  
function is_ip($ip){  
    if (ip2long($ip)) {  
        return true;  
    } else {  
        return false;  
    }  
}  
/** 
 * 是否为整数 
 * @param int $number 
 * @return boolean 
 */  
function is_number($number){  
    if(preg_match('/^[-\+]?\d+$/',$number)){  
        return true;  
    }else{  
        return false;  
    }  
}  
/** 
 * 是否为正整数 
 * @param int $number 
 * @return boolean 
 */  
function is_positive_number($number){  
    if(ctype_digit ($number)){  
        return true;  
    }else{  
        return false;  
    }  
}  
/** 
 * 是否为小数 
 * @param float $number 
 * @return boolean 
 */  
function is_decimal($number){  
    if(preg_match('/^[-\+]?\d+(\.\d+)?$/',$number)){  
        return true;  
    }else{  
        return false;  
    }  
}  
/** 
 * 是否为正小数 
 * @param float $number 
 * @return boolean 
 */  
function is_positive_decimal($number){  
    if(preg_match('/^\d+(\.\d+)?$/',$number)){  
        return true;  
    }else{  
        return false;  
    }  
}  
/** 
 * 是否为英文 
 * @param string $str 
 * @return boolean 
 */  
function is_english($str){  
    if(ctype_alpha($str))  
        return true;  
    else  
        return false;  
}  
/** 
 * 是否为中文 
 * @param string $str 
 * @return boolean 
 */  
function is_chinese($str){  
    if(preg_match('/^[\x{4e00}-\x{9fa5}]+$/u',$str))  
        return true;  
    else   
        return false;  
}  
/** 
 * 判断是否为图片 
 * @param string $file  图片文件路径 
 * @return boolean 
 */  
function is_image($file){  
    if(file_exists($file)&&getimagesize($file===false)){  
        return false;  
    }else{  
        return true;  
    }  
}  
/** 
 * 是否为合法的身份证(支持15位和18位) 
 * @param string $card 
 * @return boolean 
 */  
function is_card($card){  
    if(preg_match('/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/',$card)||preg_match('/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/',$card))  
        return true;  
    else   
        return false;  
}  
/** 
 * 验证日期格式是否正确 
 * @param string $date 
 * @param string $format 
 * @return boolean 
 */  
function is_date($date,$format='Y-m-d'){  
    $t=date_parse_from_format($format,$date);  
    if(empty($t['errors'])){  
        return true;  
    }else{  
        return false;  
    }  
}  
?>  

 

刚收集了一些验证函数.

posted @ 2015-11-26 06:38  夺命雷公狗  阅读(271)  评论(0编辑  收藏  举报