php 常用验证表单提交类

不说了直接上代码

<?php
    /**********************************************
    *   整理类型:  常用验证表单提交类                  *
    *   整理时间:  2012-11-26                         *
    *   整理人:    icyzhl,499375381@qq.com          *
    *********************************************/
    class verify{
        #验证用户名,$value传递值;$minLen最小长度;$maxLen最长长度;只允许下划线+汉字+英文+数字(不支持其它特殊字符)
        #@param string $value 
        #@param int $length
        #@return boolean
        function isUsername($value,$minLen=2,$maxLen=30){
            if(!$value) return false;
            // preg_match("/^[x80-xffa-zA-Z0-9]{3,60}$/", $val) //只能输入中文英文
            // preg_match("/^[\xa0-\xff]{1,4}$/", $string);
            // return (preg_match("/^([\x81-\xfe][\x40-\xfe]){".$num1.",".$num2."}$/",$str))?true:false;
            return preg_match('/^[_\w\d\x{4e00}-\x{9fa5}]{'.$minLen.','.$maxLen.'}$/iu',$value);
        }
    
        #验证是否为指定语言,$value传递值;$charset 默认字符类别(en只能英文;cn只能汉字;alb数字;ALL不限制)
        #@param string $value
        #@param int $length
        #@return boolean
        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-9\x{4e00}-\x{9fa5}]{'.$minLen.','.$maxLen.'}$/iu';break;
                //all限制为:只能是英文或者汉字或者数字的组合
            }
            return preg_match($match,$value);
        }

        #验证密码,$value传递值;$minLen最小长度;$maxLen最长长度;
        #@param string $value
        #@param int $length
        #@return boolean
        function isPassword($value,$minLen=6,$maxLen=16){//支持空格
            $match='/^[\\~!@#$%^&*() -_=+|{}\[\],.?\/:;\'\"\d\w]{'.$minLen.','.$maxLen.'}$/i';
            $value=trim($value);
            if(!$value) return false;
            return preg_match($match,$value);
        }
    
        /**
         * 验证eamil
         * @param  [type]  $value [description]
         * @return boolean        [description]
         */
        function isEmail($value){
            if(!$value) return false;
            return filter_var($value,FILTER_VALIDATE_EMAIL);
        }
        #验证URL
        function isURL($value){
            if(!$value) return false;
            return filter_var($value,FILTER_VALIDATE_URL);;    
        }
        #验证IP
        function isIP($value){
            if(!$value) return false;
            return filter_var($value,FILTER_VALIDATE_IP);
        }

        #格式化money,$value传递值;小数点后最多2位
        #@param string $value
        #@return boolean
        function formatMoney($value){
            return sprintf("%1\$.2f",$value);
        }
    
        #验证电话号码,$value传递值;$match正则方式
        #@param string $value
        #@return boolean
        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}$/'
            //支持国际版:([0-9]{1,5}|0)?1([3|4|5|8])+([0-9]){9,10}
            if(!$value) return false;
            return preg_match($match,$value);
        }

        #验证手机,$value传递值;$match正则方式
        #@param string $value
        #@param string $match
        #@return boolean
        function isMobile($value,$match='/^(0)?1([3|4|5|8])+([0-9]){9,10}$/'){
            if(!$value) return false;
            return preg_match($match,$value);
        }

        #验证身份证号码,$value传递值;$match正则方式
        #@param string $value
        #@param string $match
        #@return boolean
        function isIDcard($value,$match='/^\d{6}((1[89])|(2\d))\d{2}((0\d)|(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);
        }


        //验证是否为指定长度的字母/数字组合
        function fun_text1($num1,$num2,$str) {
            Return (preg_match("/^[a-zA-Z0-9]{".$num1.",".$num2."}$/",$str))?true:false;
        }

        //QQ格式验证
        function is_qq($qq){
            $chars = "/^[1-9]{1}[0-9]{4,8}$/";
            if (preg_match($chars, $qq)){
                return true;
            }
            return false;
        }

        //验证手机号码格式
        function is_phone($phone){

            $chars = '/(^(13[0-9]|14[57]|15[012356789]|17[678]|18[0-9])\d{8}$)|(^170[059]\d{7}$)/';
            // $chars = "/^13[0-9]{1}[0-9]{8}$|15[0-9]{1}[0-9]{8}$|18[0-9]{1}[0-9]{8}$/";
            if (preg_match($chars, $phone)){
                return true;
            }
            return false;
        }

        //验证固话格式
        function is_tel($tel){
            $chars = "/^([0-9]{3,4}-)?[0-9]{7,8}$/";
            if (preg_match($chars, $tel)){
                return true;
            }
            return false;
        }

        /*
        函数名称:isNumber
        */
        function isNumber($val) {
            if(preg_match("^[0-9]+$", $val))
                return true;
            return false;
        }


        function isEmpty($val) {
            if (!is_string($val)) return false; //是否是字符串类型 
            if (empty($val)) return false; //是否已设定 
            if ($val=='') return false; //是否为空 
            return true; 
        }
        /*
        函数名称:isChinese
        简要描述:检查是否输入为汉字
        */
        static function isChinese($sInBuf){ //正确的函数 
            if (preg_match("/^[x7f-xff]+$/", $sInBuf)){ //兼容gb2312,utf-8
                return true;
            }else{
                return false;
            }
        }

        /*
        函数名称:isDomain($Domain)
        简要描述:检查一个(英文)域名是否合法
        */
        static function isDomain($Domain) {
            if(!eregi("^[0-9a-z]+[0-9a-z.-]+[0-9a-z]+$", $Domain)){
                return false;
            }
            if( !eregi(".", $Domain)){
                return false;
            }
            if(eregi("-.", $Domain) or eregi("--", $Domain) or eregi("..", $Domain) or eregi(".-", $Domain)){
                return false;
            }
            $aDomain= explode(".",$Domain);
            if( !eregi("[a-zA-Z]",$aDomain[count($aDomain)-1]) ){
                return false;
            }
            if(strlen($aDomain[0]) > 63 || strlen($aDomain[0]) < 1){
                return false;
            }
            return true;
        }


    }
    $verify=new verify();

  

posted @ 2016-09-17 21:06  flyskycode  阅读(106)  评论(0)    收藏  举报