PHP前端后端表单数据验证(一)

来源:互联网 发布:工字钢简支梁计算软件 编辑:程序博客网 时间:2024/05/21 19:39
<?php
class Class_Check{
    var 
$fields//所有可能的输出域
    
function Class_Check($fields){
        
$this->fields=$fields;
    }


    var 
$formFields;  //本表单的输出域

    
function reset(){
        
$this->formFields=array();
    }

    function 
formSubmit(){
        
$ret="onsubmit='";
        foreach(
$this->formFields as $name=>$key){
            
$reg=$this->fields[$key][0];
            
$name="check_".$key."_".$name;
            
$ret.="ele=document.getElementById(\"$name\");";
            
$ret.="if(!new RegExp(/^$reg$/).test(ele.value)){";
            
$ret.=" ele.onblur();";
            
$ret.=" ele.focus();";
            
$ret.=" return false;";
            
$ret.="}";
        }
        
$ret.="' ";

        return 
$ret;
    }

    function 
output($key,$name,$default='',$class=''){
        
$this->formFields[$name]=$key;

        
$reg=$this->fields[$key][0];
        
$msg=$this->fields[$key][1];
        
$name="check_".$key."_".$name;
        
$msgName=$name."_msg";

        
$output="<input type='text' id='$name' name='$name' ";
        if(
$default)$output.=" value='$delete' ";
        if(
$class)$output.=" class='$class' ";
        
$output.=" onblur='document.getElementById(\"$msgName\").innerHTML=(new RegExp(/^$reg$/).test(this.value) == false)?\"$msg\":\"\";' ";
        
$output.=" />";
        
$output.=" <label id='$msgName' style='color:red'></label>";
        return 
$output;
    }

    function 
valid($trans){
        if(!
$_POST) return false;
        
$ret=array();
        foreach(
$_POST as $postKey=>$value){
            if(
substr($postKey,0,6)!='check_')continue;
            list(
$null,$key,$name)=explode('_',$postKey);

            
$reg=$this->fields[$key][0];
            
$msg=$this->fields[$key][1];
            if(!
preg_match("/^".$reg."$/",$value)){
                if(isset(
$trans[$name]))
                
$ret[$trans[$name]]=$msg;
                else
                
$ret[$name]=$msg;
            }
        }
        if(
count($ret)==0)return true;
        return 
$ret;
    }
}
?>
阅读(239) | 评论(0) | 转发(0) |
0

上一篇:采集程序(2) 采集类的基类

下一篇:PHP验证(二)

相关热门文章
  • 前十一月的租金增长在房地产税...
  • 房产税发挥主导作用
  • 税收的持续担忧
  • 河北馆陶租金深化党风廉政建设...
  • 河南内黄县国税局收入提高企业...
  • 承接自动化测试培训、外包、实...
  • Solaris PowerTOP 1.0 发布
  • For STKMonitor
  • busybox的httpd使用CGI脚本(Bu...
  • 项目小体会
  • LNMP 老是会出现502?
  • suse 运用一个shell获取本机和...
  • 虚拟机 unix 配置ip
  • hp-un 主机新系统读不到磁盘阵...
  • mysql出现问题:Starting MySQ...
给主人留下些什么吧!~~
原创粉丝点击