フォーム検証クラス Validator for PHP

WBOY
リリース: 2016-06-21 08:58:46
オリジナル
800 人が閲覧しました

表单验证

文件保存为form_Validate.php
 
PHP代码

フォーム検証クラス Validator for PHP β




< ;td>

< /tr>





< ;/tr> ;







< tr>








< ;td>ID カード:


< td>年齢:


< ;td> 1 歳:


<電話:











gt;

  
 
 
  
 
 
  
 
  
 
    
 
 
  
 
 
 
プロンプト モード:
本名:
英語名:
ホームページ:
パスワード:
繰り返し:
メールボックス:<入力名="メール">
メールボックス:
QQ:<入力名="QQ">
<入力名="カード">
<入力名="年">
誕生日: < /td><入力名="誕生日">
郵便番号:< ;/td> ;
郵便番号:< /td> ;td>gt;gt;
操作系统:
所在省份:广东陕西浙江江西
爱好:运动上网听音乐看书
自我介绍:
自传:

 
class Validator{
/*************************************************
Validator for PHP β 服务器端脚本
code by 我佛山人
wfsr@cunite.com
http://www.cunite.com
*************************************************/
var $submit;
var $error_item, $error_message, $error_mode, $error_no;
function Validator($submit_name = "Submit", $mode = 5){
$this->submit = $submit_name;
  $this->error_mode = $mode;
  $this->error_no = 1;
 }
 function Validate($arr){
  if(! isset($_POST[$this->submit])) return false;
  $this->error_mode = $_POST["emode"];
  echo "";
  if(is_array($arr)){
   $len = count($arr);
   for($i = 0; $i < $len; $i++){
$this->is_valid($arr[$i]);
   }
  }
  if($this->error_no > 1) 
   $this->display_error();
 }
 function is_valid($str){
  $str = split(",", $str);
  if(count($str) < 3) return false;
$name = trim($str[0]);
$message = trim($str[1]);
$data_type = trim($str[2]);
$value = trim($_POST[$name]);
switch($data_type){
case "compare" :
break;
case "range" :
break;
case "repeat" :
break;
default :
$method = "is_".$data_type;
if(!$this->$method($value))
     $this->add_error($name, $message);
    break;
  }
 }
 function add_error($name, $message){
  $this->error_item .= "," . $name;
  $this->error_message .= "," . $this->error_no . ":" . $message;
  $this->error_no ++;
 }
 function display_error(){
  $this->error_item = ereg_replace("^,+", "", $this->error_item);
  $this->error_message = ereg_replace("^,+", "", $this->error_message);
  switch($this->error_mode){
   case 4 :
    $info = "以下原因导致提交失败:\t\t\t\t,";
    echo "<script>alert(\"".join("<u><font color="#1271d0">\\n</font></u>", split(",", $info . $this->error_message))."\")</script>";
    //print >>>end;
    break;
   case 5 :
    echo "输入有错误:
  • " . ereg_replace( "\b\d+:", "",join("
  • ", split(",", $this->error_message))) . "
";
    echo "
返回";
    exit;
    break;
   default :
    echo "";
   break;
  }
 }
 function is_email($str){
  return preg_match("/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/", $str);
 }
 function is_url($str){
  return preg_match("/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"])*$/", $str);
 }
 function is_qq($str){
  return preg_match("/^[1-9]\d{4,8}$/", $str);
 }
 function is_zip($str){
  return preg_match("/^[1-9]\d{5}$/", $str);
 }
 function is_idcard($str){
  return preg_match("/^\d{15}(\d{2}[A-Za-z0-9])?$/", $str);
 }
 function is_chinese($str){
  return ereg("^[".chr(0xa1)."-".chr(0xff)."]+$",$str);
 }
 function is_english($str){
  return preg_match("/^[A-Za-z]+$/", $str);
 }
 function is_mobile($str){
  return preg_match("/^((\(\d{3}\))|(\d{3}\-))?13\d{9}$/", $str);
 }
 function is_phone($str){
  return preg_match("/^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/", $str);
 }
function is_safe($str){
return (preg_match("/^(([A-Z]*|[a-z]*|d*|[-_~!@#$%^&*.() []{}<>?\/'"]*)|.{0,5})$|s/", $str) != 0);
}
}
$ v = new Validator();
$v->Validate(array("名前、名前は中国語でのみ許可されます、中国語"、"ニック、英語のニックネームのみ許可されます、english"、"ホームページ、ホームページ URL の形式が正しくありません。url"、"パスワード、パスワードはセキュリティ ルールに準拠していません。安全です。"、"電子メール、メールボックスの形式が正しくありません。電子メール"、"QQ、QQ 番号は存在しません、qq"、 「カード、ID 番号が間違っています、idcard」、「電話、電話番号が存在しません、電話」、「携帯電話、携帯電話番号が存在しません、携帯」、「郵便番号、郵便番号が存在しません、郵便」 "));



関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート