php用戶輸入fiter函數的校驗:

代碼如下:
<?php
header("Content-type: text/html; charset=utf-8");
function filter_param($paramArr, $filterArr)
{
$res = filter_var_array($paramArr, $filterArr); //參數不合法-flase, 沒傳參數-null
foreach ($res as $key=>$val) {
//再判斷未傳的參數。
if (is_null($val)) {
//1.如果是必填項
if ($filterArr[$key]['required']) {
if (isset($filterArr[$key]['options']['default'])) {
//1.1如果有default值,則設置為default值。
$res[$key] = $filterArr[$key]['options']['default'];
} else {
//1.2如果沒有default值,拋出異常。
return [false,"參數 $key 為必填!"];
}
} else {
//$res[$key]=''; //這里是默認把null值改為空值。是否有必要?
return [false,"缺少參數 $key !"];
}
}
}
//如果有驗證失敗的,拋出異常。
if (false === $val) {
return [false,"參數 $key 格式非法!"];
}
return [true,"驗證通過"];
}
//每個model里,都寫個checkParam函數,用來配置驗證的規則。
function checkParam($arrInput)
{
//1.先檢查catId
$filter = array(
//數字類型的,必填。只允許 0-1。
"catId" => array(
"required"=>1,
"filter"=>FILTER_VALIDATE_INT,
"options"=>array(
"min_range" =>0,
"max_range" =>1,
)
),
//字符串類型的,必填。長度大于1。
"title" => array(
"required"=>1,
"filter"=>FILTER_VALIDATE_REGEXP,
"options"=>array(
"regexp" =>"/^.+/",
)
),
//字符串類型的,非必填。但要是填了的話,則格式必須為email。
"email" => array(
"filter"=>FILTER_VALIDATE_EMAIL,
),
"ip" => array(
"filter"=>FILTER_VALIDATE_IP,
),
);
return filter_param($arrInput, $filter) ;
}
//比如這個是輸入的參數。可以試著修改這里看看效果。
$arrInput=array(
'catId'=>1,
'title'=>'xx',
'ip'=>'xxxxxx.com',
'email'=>'xxxxxx.com',
);
//去掉字符串空格
preg_replace("/\s/", "", $val);
$res = checkParam($arrInput);
echo $res[1];
另外有需要云服務器可以了解下創新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
                分享名稱:php用戶輸入fiter函數的校驗-創新互聯
                
                標題路徑:http://www.yijiale78.com/article2/psgoc.html
            
成都網站建設公司_創新互聯,為您提供網站改版、標簽優化、Google、品牌網站制作、定制開發、網站設計公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯
