注册 | 登录
欢迎注册会员

当前位置:首页 > 365体育官方中文版 > js脚本技术 > 正文

一个很不错的验证类,扩展型很好

来源:程序人生 【 】 浏览:811 添加日期:2016-09-16 22:39:29 我要评论(0)
Validate(array("Name,名字只允许中文,chinese", "Nick, 只允许英文昵称, english", "Homepage, 主页Url格式不正确, url", "Password, 密码不符合安全规则, safe","Email,信箱格式错误,email", "QQ, QQ号码不存在, qq","Card, 身份证号码不正确, idcard","Phone, 电话号码不存在, phone","Mobile, 手机号码不存在, mobile","Zip, 邮政编码不存在, zip"))){ 
   echo $v->error(); 
} 
*************************************************/ 
    var $error_item, $error_message, $error_mode, $error_no; 
    function Validator($mode = 6){ 
        $this->error_mode = $mode; 
        $this->error_no = 1; 
    } 
    function Validate($arr){ 
        if(is_array($arr)){ 
            $len = count($arr); 
            for($i = 0; $i < $len; $i++){ 
                $this->is_valid($arr[$i]); 
            } 
        } 
        if($this->error_no > 1)return false; 
        return true; 
    } 
    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 error($mode=''){ 
        $this->error_item = ereg_replace("^,+", "", $this->error_item); 
        $this->error_message = ereg_replace("^,+", "", $this->error_message); 
        $mode=(empty($mode))?$this->error_mode:$mode; 
        switch($mode){ 
            case 4 : 
                $info = "以下原因导致提交失败:				,"; 
                echo ""; 
                //print >>>end; 
                break; 
            case 5 : 
                echo "输入有错误:
  • " . ereg_replace( "d+:", "",join("
  • ", split(",", $this->error_message))) . "
";                  echo "返回";                  exit;                  break;              case 6:                  $info="输入有错误:
  • " . ereg_replace( "d+:", "",join("
  • ", split(",", $this->error_message))) . "
";                  $info.="返回";                  return $info;              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}-))?13d{9}$/", $str);      }      function is_phone($str){          return preg_match("/^(((d{3}))|(d{3}-))?((0d{2,3})|0d{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);      }  }  ?>

 



给一个简单的演示。


表单验证类 Validator for PHP β



 
  真实姓名:
 
 
  英文名:
 
   
  主页:
 
 
  密码:
 
 
  重复:
 
 
  信箱:
 
   
  信箱:
 
 
  QQ:
 
   
  身份证:
 
 
  年龄:
 
  
  年龄1:
 
  
  电话:
 
  
  手机:
 
    
  生日:
 
  
  邮政编码:
 
 
  邮政编码:
 
 
  操作系统:选择您所用的操作系统Win98Win2kWinXP
 
 
  所在省份:广东陕西浙江江西
 
 
  爱好:运动上网听音乐看书
 
  自我介绍:中文是一个字

    自传:中文是两个字节t

 
  
 
 


验证文件


Validate(array("Name,名字只允许中文,chinese", "Nick, 只允许英文昵称, english", "Homepage, 主页Url格式不正确, url", "Password, 密码不符合安全规则, safe","Email,信箱格式错误,email", "QQ, QQ号码不存在, qq","Card, 身份证号码不正确, idcard","Phone, 电话号码不存在, phone","Mobile, 手机号码不存在, mobile","Zip, 邮政编码不存在, zip"))){ 
   echo $v->error(); 
} 
?>



你浏览的文章是 - 《一个很不错的验证类,扩展型很好》!
文章出处:https://www.procedurelife.com/content/akkjfb.html
0% (0)
0% (0)
评论0
游客
1 2