PHP正则自动验证传入数据

本文出至:新太潮流网络博客

/**
 * [is_string_regular_type 正则自动验证传入数据]
 * @E-mial [email protected]
 * @TIME   2017-04-07
 * @WEB    http://blog.iinu.com.cn
 * @param  [string]  $keyword [传入的关键字要检索的范围]
 * @param  [string]  $string  [需要用正则匹配的内容]
 * @return boolean          [返回数组状态]
 */
function is_string_regular_type($keyword,$string){
	$type_array = array(
			//邮箱正则
			‘email‘    => [ ‘type‘ => ‘/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/‘],
			//用户名
			‘username‘ => [ ‘type‘ => ‘/^\w+((-\w+)|(\.\w+))*[0-9a-zA-Z_]/‘ , ‘number‘ => ‘/^\w+((-\w+)|(\.\w+))*[0-9a-zA-Z_]{6,20}/‘],
			//密码
			‘password‘ => [ ‘type‘ => ‘/^[0-9a-zA-Z_]{6,20}$/‘]
		);
	$return_str_success = array(
			‘email‘    => [‘type‘=>‘邮箱格式正确‘],
			‘username‘ => [‘type‘=>‘用户名格式正确‘,‘number‘=>‘用户名长度正确‘],
			‘password‘ => [‘type‘=>‘密码格式正确‘]
		);
	$return_str_error = array(
			‘email‘    => [‘type‘=>‘邮箱格式不正确‘],
			‘username‘ => [‘type‘=>‘用户名格式不正确‘,‘number‘=>‘用户名长度不正确‘],
			‘password‘ => [‘type‘=>‘密码格式不正确‘]
		);
	foreach($type_array[$keyword] as $k=>$v){
		//正则比配
		$preg_match_chek = preg_match($type_array[$keyword][$k],$string);
	}
	if($preg_match_chek == 1){
		//匹配成功
		return array(‘status‘=>$preg_match_chek,‘result‘=>$return_str_success[$keyword][$k],‘message‘=>$string);
	}else{
		//匹配失败
		return array(‘status‘=>$preg_match_chek,‘result‘=>$return_str_error[$keyword][$k],‘message‘=>$string);
	}
}

本文出至:新太潮流网络博客

时间: 2024-08-09 06:21:22

PHP正则自动验证传入数据的相关文章

ThinkPHP 自动创建数据、自动验证、自动完成详细例子介绍(十九)

原文:ThinkPHP 自动创建数据.自动验证.自动完成详细例子介绍(十九) 1:自动创建数据 //$name=$_POST['name']; //$password=$_POST['password'];  ---这个注册页面传过来的POST值 下面用了自动穿件create方法就可以不用这个,会行动绑定 $user =M('User'); $User->create();   //会将传过来的$_POST数据对应到数据库的字段 $user->add();   //就可以直接写入 2:自动验证

Web自动化框架之五一套完整demo的点点滴滴(excel功能案例参数化+业务功能分层设计+mysql数据存储封装+截图+日志+测试报告+对接缺陷管理系统+自动编译部署环境+自动验证false、error案例)

标题很大,想说的很多,不知道从那开始~~直接步入正题吧 个人也是由于公司的人员的现状和项目的特殊情况,今年年中后开始折腾web自动化这块:整这个原因很简单,就是想能让自己偷点懒.也让减轻一点同事的苦力活:对于自动化测试与人工测试优缺势的问题,这里不想深入讨论,开一个博客收集一些观点然后开个讨论组讨论效果可能会更好. 标题上列的,是自己对web自动化这块统一的一个想象或是一套完整的自动化应所包含的的部分,目前完成了excel功能案例参数化+业务功能分层设计+mysql数据存储封装+截图+日志+测试

ThinkPHP自动验证分析

今天一起来学习下TP的自动验证具体是怎么实现的,首先验证规则的定义格式如下: // 验证因子定义格式 array(field,rule,message,condition,type,when,params) field:验证字段的名称 rule:验证表达式 message:错误信息 condition:验证条件,0存在就验证 1 必须验证 2值不为空时验证 type:验证方式 when:什么时候验证 1插入时 2 更新时 3两种情况都验证 params:额外参数,当验证规则类型为function

ThinkPHP中create()方法自动验证

自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证. 原理: create()方法收集表单($_POST)信息并返回,同时触发表单自动验证,过滤非法字段, 在控制器中使用create()方法,(返回值为true/false),会自动触发模型类中的$_validate属性(为父类Model中的方法,在子类Model中重写),在$_validate中自定义验证规则(验证规则下面会详细说明),当create()方法没有数据即返回值为fals

thinkphp自动验证

1.thinkphp的自动验证 自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证. 1.1应用范围: 进行数据类型.业务规则.安全判断等方面的验证. 1.2验证方式: 1.静态方式:在模型类里面通过$_validate属性定义验证规则. 2.动态方式:使用模型类的validate方法动态创建自动验证规则. 1.3验证规则: 例:一个简单的注册信息时的自动验证: <?php namespace Home\Model; use Thin

Thinkphp 中的自动验证 上一篇有例子

说明,只要定义了Model,在任何地方调用,都会进行验证.很方便. 必须是D方法,才会有效.M方法不会触发自动验证. array( array(验证字段1,验证规则,错误提示,[验证条件,附加规则,验证时间]), array(验证字段2,验证规则,错误提示,[验证条件,附加规则,验证时间]), ..... ); 1.验证字段 需要验证的表单字段名称,这个字段不一定是数据库字段,也可以是表单的一些辅助字段,例如确认密码和验证码等等.有个别验证规则和字段无关的情况下,验证字段是可以随意设置的,例如e

ThinkPHP 自动验证与自动填充无效可能的原因

原文链接:http://www.5idev.com/p-thinkphp_validate_auto_Invalid.shtml 自动验证与自动填充是在使用ThinkPHP时经常用到的功能,但偶尔会遇到自动验证与自动填充无效的情况,本文就ThinkPHP 自动验证与自动填充无效可能的原因做一些分析. create() ThinkPHP 自动验证与自动填充是在创建数据对象 create() 时实现的,因此自动验证与自动填充无效很大程度上与 create() 有关. create 方法语法如下: c

Thinkphp表单自动验证

之前项目经常用到,没做总结. 自动验证是Thinphp模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证. 原理: create()方法收集表单($_POST)信息并返回,同时触发表单自动验证,过滤非法字段, 在控制器中使用create()方法,(返回值为true/false),会自动触发模型类中的$_validate属性(为父类Model中的方法,在子类Model中重写),在$_validate中自定义验证规则(验证规则下面会详细说明),当create()方

Thinkphp自动验证规则

其实说白了,这篇文章就是转给自己看的,省的下次用的时候满网络找了.有需要的同学也可以看看.自动验证是非常有用的一个技术.平常的验证基本就是,用户名是否为空,用户名是否重复,密码,重复密码是否一致.官方给的就是这些.那么我们不可能只用到这些,铁定还有别的规则,所以下面这些规则供同学借鉴,也供我自己借鉴. array(‘name’,’/^[a-z]\w{3,}$/i’,’名字不符合要求!’);array(‘password’,’/^[a-z]\w{6,30}$/i’,’密码不符合要求!’);arra