`

PHP后台验证类(原创)

阅读更多

 

  主要实现的是用户输入内容进行验证,本文是继 ajax提交form,同时提供form表单验证,直接贴上代码

<?php
/**
 * Form check class
 * 格式: uname = array('require'=>'true','max'=>3,'min'=>'1','theme'=> '用户名',reg="tel/qq/num/cn/en/reg")
 * @author Administrator
 *
 */
class Form{
	private $_form_data = array();
	private  $_error_msg = '';
	private $_default_regs = array('num'=>'/^[0-9]*$/', 
							   'tel'=>'/^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$/',
							   'qq'=>'/^\d{5,10}$/', 
							   'cn'=>'', 
							   'en'=>'', 
							   'email'=>'/^[0-9a-zA-Z]+@(([0-9a-zA-Z]+)[.])+[a-z]{2,4}$/i');
	public function  Form($form_data = ''){
		$this->_form_data = $form_data;
	}
	public function check(){
		$is_check = true;
		foreach ($this->_form_data as $key=>$item){
			$is_check = $this->check_item($item);
			if(!$is_check){
				break;
			}
		}
		return $is_check;
	}
	public function  init_form($form_data){
		$this->_form_data = $form_data;
	}
	public function check_item($item){
		$is_check = true;
		foreach ($item as $key=>$obj){
			$check_func = 'check_'.$key;
			if(method_exists($this, $check_func)){
				$is_check = $this->$check_func($item);
			}
			if(!$is_check){
				break;
			}
		}
		return $is_check;
	}
	
	public function error_msg(){
		return $this->_error_msg;
	}
	private function check_require($item){
		$require_exp_true = $item['require'] == true && !empty($item['value']);
		if($require_exp_true || $item['require']==false){
			return true;
		}
		return $this->init_error($item['theme'].'不能为空!');
	}
	
	private function check_max($item){
		$str_length = strlen($item['value']);
		if($str_length <= $item['max']){
			return true;
		}
		return $this->init_error($item['theme'].'最多'.$item['max'].'个字符');
	}
	
	private function check_min($item){
		$str_length = strlen($item['value']);
		if($str_length >= $item['min']){
			return true;
		}
		return $this->init_error($item['theme'].'最少'.$item['min'].'个字符');
	}
	
	private function check_reg($item){
		if(array_key_exists($item['reg'], $this->_default_regs)){
			return $this->reg_defaults($item);
		}
		return $this->reg_express($item);
	}
	private function reg_defaults($item){
		$reg = $this->_default_regs[$item['reg']];
		if(preg_match($reg,$item['value'])){
			return true;
		}
		return $this->init_error($item['theme'].'格式不对');
	}
	private function reg_express($item){
		
	}
	private function init_error($msg){
		$this->_error_msg = $msg;
		return false;
	}
}

   

   使用方法

   1、init_form()初始化数据

        数据格式

$form_data = array('username'=> array('require'=>true, 'theme'=> '用户名', 'value'=> $data['username']),
						   'passwd'=> array('require'=>true, 'theme'=> '密码', 'value'=> $data['passwd']),
						   'code'=> array('require'=>true, 'theme'=> '验证码', 'value'=> $data['code'], 'max'=> 4 , 'min'=>4, 'reg'=>'num'));
		

 

  2、check()方法验证,返回true/false

 3、error_msg(),返回验证失败信息

分享到:
评论

相关推荐

    YouYaX开源论坛系统 v5.85(带手机版).zip

    YouYaX,开源BBS,php原创框架结构论坛程序 YouYaX是个人自主开发的原创论坛系统,简洁,拓展性强,代码开源。 1、体积小 — 安装包大小约2M,功能齐全 2、易开发 — 任何有PHP开发经验的站长均可以很方便的修改、...

    先锋内容管理系统 v1.5.zip

    4、周密的安全策略和攻击防护:表单令牌机制、字段类型验证、输入过滤、上传安全过滤、防止XSS攻击和目录安全保护等功能,对SQL参数进行敏感字符过滤、对密码、cookie进行了不可逆加密处理,数据库备份功能、对管理...

    小旋风蜘蛛池站群系统源码X4版本(原小霸王蜘蛛池)熊掌自推送.zip

    小旋风蜘蛛池站群系统源码X4版本... · 修复伪原创词汇后台不能显示问题  · 修复采集内容的问题  · 修复整篇文章模式缩略图调用问题  · 修复分组内容库调用出错问题  · 修复后台查看蜘蛛记录不能识别手机模板

    多奥淘客程序2011最新版本可以整合文章系统

    多奥淘宝客程序V6.2简称淘客程序,采用...本程序免费无商业版,有什么问题及建议可以去淘宝客程序推广交流论坛http://www.duoao.cn/或淘宝客推广高手交流QQ群:176440164(公益群广告止步,验证信息:淘客程序)

    店盟淘客程序

    多奥淘宝客程序V6.2简称淘客程序,采用...本程序免费无商业版,有什么问题及建议可以去淘宝客程序推广交流论坛http://www.duoao.cn/或淘宝客推广高手交流QQ群:48392299(公益群广告止步,验证信息:淘客程序)

    多奥淘宝客2012最新版

    多奥淘宝客程序V6.2简称淘客程序,采用...本程序免费无商业版,有什么问题及建议可以去淘宝客程序推广交流论坛http://www.duoao.cn/或淘宝客推广高手交流QQ群:48392299(公益群广告止步,验证信息:淘客程序)

    YouYaX 4.0.rar

    YouYaX是个人自主开发的原创论坛系统,简洁,拓展性强,代码开源。 YouYaX 4.0 更新日志: 1、加入了提问帖子,金币数,并使之与原有的普通帖子有机结合 2、加入了发帖、回帖的限制时间 YY论坛特点: 1、...

    即时通讯APP源码 IM聊天社交APP+ios可上架+安卓苹果双端+pc端+H5端+微信端

    后台开发语言:PHP (原生架构) 前台开发语言:uniapp socket 推送:GateWayWorker(支持分布式部署,高并发,抗压能力强,未采用第三方付费推送服务) 数据库:mysql 开发工具:hbuiderX,phpstorm 目前支持 ...

    仿IPC简约WordPress主题 v14.8.1.zip

    仿IPC简约WordPress主题是一款基于ipc主题基础之上进行完善的wordpress博客主题,并非本人原创,在这里深深的表示感谢。该主题相较于原主题,添加完善了一些功能。 仿IPC简约WordPress主题增加的功能有: 1、解决...

    DIY-Page站群系统 8.3 Build 885.zip

    采集源 增加 词语级纯原创生成的功能(中文词库data/cnmaker,英文data/enmaker)支持随机生成附件图片(图片库data/makerpic) 采集中心 新建关键词 可选择采入自带CMS或DZ/DZX/DZX2/PW/WP/织梦/帝国 论坛读取...

    天空网摘 v20110624.rar

    程序说明网摘等级:删除 私有 验证 公开 高级 推荐 精华用户等级:删除 锁定 验证 普通 高级 贵宾 操作员 管理员各个等级的用户分别对应拥有各个等级的网摘权限,其中操作员可以添加“图片”类型的网摘,管理员可以...

    仿IPC简约WordPress主题 v14.8.1

    仿IPC简约WordPress主题是一款基于ipc主题基础之上进行完善的wordpress博客主题,并非本人原创,在这里深深的表示感谢。该主题相较于原主题,添加完善了一些功能。增加的功能有:1、解决了原主题的一些浏览器不兼容...

    Autumn-Pro基于WPJAM插件 高性能的WordPress主题模板(更新至V2.4)

    配置下SMTP发信,「后台 – WPJAM – 扩展管理 – SMTP 发信」,因为前端使用找回密码等功能需要向用户发送验证邮件,如果不开启用户注册仅仅是个人博客,可以忽略这个。 建议使用Linux服务器,win服务器没用过所以...

    YouYaX论坛系统含手机版 v5.33

    5.33更新,控制后台增加显示缓存容量大,并且提供一个清空缓存插件,此外,插件部分增强安全性验证,修复5.32使用exit错误导致停止生成缓存的BUGYouYaX 5.27更新,加强网站“增删改”检测,修复一个CSRF漏洞、 ...

    昱杰订单管理系统最新官方版

    但是,有加密就有解密,不能绝对保证代码的安全性,特作此声明:本系统由作者原创,版权归作者所有,仅供购买者使用,未经允许不准泄漏和破解程序中任何部分的代码,作者将保留追究法律责任的权利。 2.5更新日志 ...

    盾灵信息分享系统最新官方版

    3、完善后台登录的安全验证问题; 4、后台增加积分兑换比例的设置表单; 5、修复用户兑换积分程序模块的BUG; 6、增强系统坚固性安全性、防SQL注入、防跨站脚本攻击; 2014-10-15 1、删除站内信功能; 2、优化模版代码;...

    Qt Creator 的安装和hello world 程序+其他程序的编写--不是一般的好

    结束,而是在后台运行。所以这时改动程序,再运行时便会出错。你可以按下调 试栏上面的红色Stop 停止按钮来停止程序运行。你也可以在windows 任务管理 器的进程中将该进程结束,而后再次运行就没问题了,当然先关闭...

    Google Android SDK开发范例大全(第3版) 1/5

    余志龙、陈昱勋、郑名杰、陈小风,分别来自手机制造业、电视媒体业、网络、电信产业、软件开发等领域,擅长嵌入式系统软件设计、J2ME游戏开发、Android开发,以及12EE、JSP、Servlet、Java Bean、PHP、C#等程序语言...

    Google Android SDK开发范例大全(第3版) 4/5

    余志龙、陈昱勋、郑名杰、陈小风,分别来自手机制造业、电视媒体业、网络、电信产业、软件开发等领域,擅长嵌入式系统软件设计、J2ME游戏开发、Android开发,以及12EE、JSP、Servlet、Java Bean、PHP、C#等程序语言...

Global site tag (gtag.js) - Google Analytics