PHP表單驗證

通常用表單驗證的話,大多數會用js,jquery來進行表單驗證,可是在保證安全的狀況下,除了前端加限制外,後端PHP也是要加上限制的。下面給你們介紹一下本身整合的一個PHP表單驗證類,學習階段的朋友們,有須要的能夠參考。php

<?php

/**

* 頁面做用:經常使用表單驗證類

*/

class class_post

{

//驗證是否爲指定長度的字母/數字組合

function fun_text1($num1,$num2,$str)

{

     return (preg_match("/^[a-zA-Z0-9]{".$num1.",".$num2."}$/",$str))?true:false;

}



//驗證是否爲指定長度數字

function fun_text2($num1,$num2,$str)

{

     return (preg_match("/^[0-9]{".$num1.",".$num2."}$/i",$str))?true:false;

}



//驗證是否爲指定長度漢字

function fun_font($num1,$num2,$str)

{

// preg_match("/^[\xa0-\xff]{1,4}$/", $string);

    return (preg_match("/^([\x81-\xfe][\x40-\xfe]){".$num1.",".$num2."}$/",$str))?true:false;

}



//驗證身份證號碼

function fun_status($str)

{

     return (preg_match('/(^([\d]{15}|[\d]{18}|[\d]{17}x)$)/',$str))?true:false;

}



//驗證郵件地址

function fun_email($str){

     return (preg_match('/^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$/',$str))?true:false;

}



//驗證電話號碼

function fun_phone($str)

{

   return (preg_match("/^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/",$str))?true:false;

}



//驗證郵編

function fun_zip($str)

{

   return (preg_match("/^[1-9]\d{5}$/",$str))?true:false;

}



//驗證url地址

function fun_url($str)

{

   return (preg_match("/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/",$str))?true:false;

}

 

 

如下是對數據的處理的幾個方法html

// 數據入庫 轉義 特殊字符 傳入值可爲字符串 或 一維數組 

function data_join(&$data)

{

   if(get_magic_quotes_gpc() == false)

   {

    if (is_array($data))

    {

     foreach ($data as $k => $v)

     {

     $data[$k] = addslashes($v);

     }

    }

    else

    {

    $data = addslashes($data);

    }

   }

   Return $data;

}



// 數據出庫 還原 特殊字符 傳入值可爲字符串 或 一/二維數組

function data_revert(&$data)

{

   if (is_array($data))

   {

    foreach ($data as $k1 => $v1)

    {

     if (is_array($v1))

     {

      foreach ($v1 as $k2 => $v2)

      {

      $data[$k1][$k2] = stripslashes($v2);

      }

     }

     else

     {

     $data[$k1] = stripslashes($v1);

     }

    }

   }

   else

   {

   $data = stripslashes($data);

   }

   Return $data;

}



// 數據顯示 還原 數據格式 主要用於內容輸出 傳入值可爲字符串 或 一/二維數組

// 執行此方法前應先data_revert(),表單內容無須此還原

function data_show(&$data)

{

   if (is_array($data))

   {

    foreach ($data as $k1 => $v1)

    {

     if (is_array($v1))

     {

      foreach ($v1 as $k2 => $v2)

      {

      $data[$k1][$k2]=nl2br(htmlspecialchars($data[$k1][$k2]));

      $data[$k1][$k2]=str_replace(" "," ",$data[$k1][$k2]);

      $data[$k1][$k2]=str_replace("\n","<br>\n",$data[$k1][$k2]);

      }

     }

     else

     {

     $data[$k1]=nl2br(htmlspecialchars($data[$k1]));

     $data[$k1]=str_replace(" "," ",$data[$k1]);

     $data[$k1]=str_replace("\n","<br>\n",$data[$k1]);

     }

    }

   }

   else

   {

   $data=nl2br(htmlspecialchars($data));

   $data=str_replace(" "," ",$data);

   $data=str_replace("\n","<br>\n",$data);

   }

   return $data;

}

}

 

實例化一個對象很簡單,在寫入判斷的時候,引入類文件,實例化這個類,再直接調用方法便可前端

相關文章
相關標籤/搜索