個人整理的一個非常不錯的php驗證類,很多人在尋找php驗證類的時候可能都很盲目,有的在找固話、手機驗證類等等,我特意整理了一些,經(jīng)過測試檢測,每個都可以使用,而且代碼經(jīng)過我本人優(yōu)化得出。
/**********************************************
* 整理類型: 常用驗證表單提交類 *
* 整理時間: 2012-11-26 *
* 整理人: icyzhl,499375381@qq.com *
*********************************************/
class verify{
#驗證用戶名,$value傳遞值;$minLen最小長度;$maxLen最長長度;只允許下劃線+漢字+英文+數(shù)字(不支持其它特殊字符)
#@param string $value
#@param int $length
#@return boolean
function isUsername($value,$minLen=2,$maxLen=30){
if(!$value) return false;
return preg_match('/^[_\w\d\x{4e00}-\x{9fa5}]{'.$minLen.','.$maxLen.'}$/iu',$value);
}
#驗證是否為指定語言,$value傳遞值;$minLen最小長度;$maxLen最長長度;$charset默認字符類別(en只能英文;cn只能漢字;alb數(shù)字;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限制為:只能是英文或者漢字或者數(shù)字的組合
}
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,$value傳遞值;$minLen最小長度;$maxLen最長長度;$match正則方式
#@param string $value
#@param int $length
#@return boolean
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;
}
/*********************************************closed by icyzhl/
/*
#格式化money,$value傳遞值;小數(shù)點后最多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}$/'
if(!$value) return false;
return preg_match($match,$value);
}
【
下一頁】[1] [
2]