PHP匹配当前传入是何种类型
本文出至:新太潮流网络博客
/**
* [is_string_regular_type 正则自动验证传入数据]
* @E-mial wuliqiang_aa@163.com
* @TIME 2017-08-25
* @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 as $k=>$v){
$type_array_if[] = $k;
}
if(in_array($keyword,$type_array_if)){
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);
}
}else{
return array('status'=>1,'result'=>'不存在此验证方法','message'=>$string);
}
}
本文出至:新太潮流网络博客
PHP匹配当前传入是何种类型的更多相关文章
- java使用何种类型表示精确的小数?
问题 java使用何种类型表示精确的小数? 结论 float和double类型的主要设计目标是为了科学计算和工程计算,速度快,存在精度丢失 BigDecimal用来表示任意精确浮点数运算的类,在商业应 ...
- MyBatis的传入参数parameterType类型
1. MyBatis的传入参数parameterType类型分两种 1. 1. 基本数据类型:int,string,long,Date; 1. 2. 复杂数据类型:类和Map 2. 如何获取参数中的值 ...
- MyBatis中传入参数parameterType类型详解
前言 Mybatis的Mapper文件中的select.insert.update.delete元素中有一个parameterType属性,用于对应的mapper接口方法接受的参数类型.本文主要给大家 ...
- 利用传入的Type类型来调用范型方法的解决方案
起因:自定义一个GridView控件,其数据源来源于一个通用方法Get<T>(),根据你传入的T到数据库中得到相应的数据,问题是定义GridView控件时没法在界面端设置使用泛型,只能在每 ...
- mybatis将传入的Integer类型的0被识别成空字符串的问题
更改mapper文件的sql如下: <if test="interger != null"> interger= #{interger} </if> 原因: ...
- 插入数据insert语句中出错:没有与这些操作数匹配的“+”运算符,操作数类型为:const char[ ]+CString
UpdateData(); CString n; n.Format(L"%d", m_n); _bstr_t strCmd_n = "insert into n(材料,折 ...
- JS 判断传入的变量类型是否是Array
function f(arr){ 1.通过_proto_ 进行判断 (arr._proto_ 指向Array.prototype); 2.通过constructor进行判断 (arr.construc ...
- Collections带有的排序方法 传入的元素类型 需是子类或者这个类的实例
- 后台传入的boolean类型到前台alert为String类型了(解决方法)
后台代码: // 进入仪器list界面之前查看 是否是科研处人员 SessionContainer sc = (SessionContainer) session.getAttribut ...
随机推荐
- CGI PL PERL脚本 提权
windows 2003 下,安装ActivePerl-5.16.2.1602-MSWin32-x86-296513 IIS 添加CGI支持.并在对应网站配置下面,添加CGI后缀或PL后缀 与 对应的 ...
- CharacterRangeTable
转载:https://github.com/jacoco/jacoco/wiki/CharacterRangeTable This page discusses a not yet available ...
- C++中各种类的大小
注:本文测试实例使用的编译器版本为clang-703.0.29,系统int长度为4字节,指针长度为8字节. 1. 空类 class A {}; 空类sizeof的结果为1,为什么不是0呢?因为C++标 ...
- Spring MVC 实现web Socket向前端实时推送数据
最近项目中用到了webSocket服务,由后台实时向所有的前端推送消息,前端暂时是不可以发消息给后端的,数据的来源是由具体的设备数据收集器收集起来,然后通过socket推送给后端,后端收到数据后,再将 ...
- spring-data-redis配制
1:单redis模式下 properties文件 配制 #JedisPoolConfig的参数 #最大连接数 redis.pool.maxTotal= #最大空闲时间 redis.pool.maxId ...
- kendo UI 入门
Kendo UI 是一套前端开发宽假,意为日本的“剑道” 首先到官方网站下载最新的30天试用版,地址为:http://www.telerik.com/download/kendo-ui 需要简单注册一 ...
- Dubbo2.7源码分析-SPI的应用
SPI简介 SPI是Service Provider Interface的缩写,即服务提供接口(翻译出来好绕口,还是不翻译的好),实质上是接口,作用是对外提供服务. SPI是Java的一种插件机制,可 ...
- mysql5.0版本下载地址
http://dev.mysql.com/downloads/mysql/5.0.html Other Downloads: Windows (x86, 32-bit), ZIP Archive 5. ...
- 15.Generator 函数的语法
Generator 函数的语法 Generator 函数的语法 简介 基本概念 Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同.本章详细介绍 Generat ...
- C#异步,多线程下的HttpContext丢失问题
1.思路概述 首先让我把大概的一个思路先说一遍吧. 我在一个页面中要同时调用两个接口,而我要给这些接口一些参数:就是我通过HttpContext.Current.Request.QueryString ...