php常用驗證類(自用)

<?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();
?>

下載地址:http://pan.baidu.com/s/1o8M8qYQ
轉載地址:http://www.zuopeng.gd.cn/article/details/id/103.html

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市憎茂,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖檀何,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件辞槐,死亡現場離奇詭異廷蓉,居然都是意外死亡全封,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來刹悴,“玉大人行楞,你說我怎么就攤上這事⊥猎龋” “怎么了子房?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長就轧。 經常有香客問我证杭,道長,這世上最難降的妖魔是什么妒御? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任解愤,我火速辦了婚禮,結果婚禮上携丁,老公的妹妹穿的比我還像新娘。我一直安慰自己兰怠,他們只是感情好梦鉴,可當我...
    茶點故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著揭保,像睡著了一般肥橙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上秸侣,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天存筏,我揣著相機與錄音,去河邊找鬼味榛。 笑死椭坚,一個胖子當著我的面吹牛,可吹牛的內容都是我干的搏色。 我是一名探鬼主播善茎,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼频轿!你這毒婦竟也來了垂涯?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤航邢,失蹤者是張志新(化名)和其女友劉穎耕赘,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體膳殷,經...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡操骡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片当娱。...
    茶點故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡吃既,死狀恐怖,靈堂內的尸體忽然破棺而出跨细,到底是詐尸還是另有隱情鹦倚,我是刑警寧澤,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布冀惭,位于F島的核電站震叙,受9級特大地震影響,放射性物質發(fā)生泄漏散休。R本人自食惡果不足惜媒楼,卻給世界環(huán)境...
    茶點故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望戚丸。 院中可真熱鬧划址,春花似錦、人聲如沸限府。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽胁勺。三九已至世澜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間署穗,已是汗流浹背寥裂。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留案疲,地道東北人封恰。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像褐啡,于是被迫代替她去往敵國和親俭驮。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,678評論 2 354

推薦閱讀更多精彩內容