PHP検証クラスライブラリ_収集開発の一般的な検証方法

6878 ワード

私達はプロジェクトを開発する時よくPHPの正則の方式を通じて(通って)ユーザーの入力した情報が合格してあるいは正しいかどうかを判断して、以下私はみんなに1つの種類を収集して整理して、みんなの参考と使用に供します.
問題があれば伝言を残して話してください.
クラス:
= $min) ? true : false;
                break;
            case 2: //      
                return ($max >= $len) ? true : false;
                break;
            default: //min <= $str <= max
                return (($min <= $len) && ($len <= $max)) ? true : false;
        }
    }
    /**
     *     
     * @param string $value
     * @param int $length
     * @return boolean
     */
    public static function isPWD($value,$minLen=6,$maxLen=16){
        $match='/^[\\~!@#$%^&*()-_=+|{}\[\],.?\/:;\'\"\d\w]{'.$minLen.','.$maxLen.'}$/';
        $v = trim($value);
        if(empty($v))
            return false;
        return preg_match($match,$v);
    } 
    /**
     *      
     * @param string $value
     * @param int $length
     * @return boolean
     */
    public static function isNames($value, $minLen=2, $maxLen=16, $charset='ALL'){
        if(empty($value))
            return false;
        switch($charset){
            case 'EN': $match = '/^[_\w\d]{'.$minLen.','.$maxLen.'}$/iu';
                break;
            case 'CN':$match = '/^[_\x{4e00}-\x{9fa5}\d]{'.$minLen.','.$maxLen.'}$/iu';
                break;
            default:$match = '/^[_\w\d\x{4e00}-\x{9fa5}]{'.$minLen.','.$maxLen.'}$/iu';
        }
        return preg_match($match,$value);
    } 
    /**
     *     
     * @param string $value
     */  
    public static function checkZip($str){
        if(strlen($str)!=6){
            return false;
        }
        if(substr($str,0,1)==0){
            return false;
        }
        return true;
    } 
    /**
     *     
     * @param string $value
     */      
    public static function checkDate($str){
        $dateArr = explode("-", $str);
        if (is_numeric($dateArr[0]) && is_numeric($dateArr[1]) && is_numeric($dateArr[2])) {
        if (($dateArr[0] >= 1000 && $timeArr[0] <= 10000) && ($dateArr[1] >= 0 && $dateArr[1] <= 12) && ($dateArr[2] >= 0 && $dateArr[2] <= 31))
            return true;
        else
            return false;
        }
        return false;
    }
    /**
     *     
     * @param string $value
     */      
    public static function checkTime($str){
        $timeArr = explode(":", $str);
        if (is_numeric($timeArr[0]) && is_numeric($timeArr[1]) && is_numeric($timeArr[2])) {
        if (($timeArr[0] >= 0 && $timeArr[0] <= 23) && ($timeArr[1] >= 0 && $timeArr[1] <= 59) && ($timeArr[2] >= 0 && $timeArr[2] <= 59))
            return true;
        else
            return false;
        }
        return false;
    } 
}

次に、ThinkPHPフレームワークを例に、このクラスの使用方法を説明します.
本稿では、携帯電話番号の検証を例に挙げます.この検証クラスライブラリでは、ユーザー名、数字、メールボックス、url、中国語、長さ、パスワード、日付、時間などの検証もサポートされています.登録、ログインなどのフォームに簡単に適用できます.
賢い友达も中の正則をコピーしてjs正則に適用することができます.
public function check() { 
        import('Org.Util.Verify'); 
        $verify = new \Verify(); 
        $mobile = I("post.mobile"); 
          
        $rs = $verify->isMobile($mobile); //         
        if($rs == true){ 
            echo 1; 
        }else{ 
            echo -1; 
        } 
}