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 ...
随机推荐
- puppet的使用:ERB模板
ERB介绍 全称是Embedded RuBy,意思是嵌入式的Ruby,是一种文本模板技术,用过JSP的话,会发现两者语法很像. 我们项目中一般用ERB来产生各模块的配置文件.ERB模板也可以用来产生W ...
- addEventListener和attachEvent的区别 分类: JavaScript 2015-05-12 19:03 702人阅读 评论(0) 收藏
addEventListener共有3个参数,如下所示:element.addEventListener(type,listener,useCapture); 参数 参数说明 element 要绑定事 ...
- 【数组】Container With Most Water
题目: Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, a ...
- 【C#】override,Abstract,Virtual 介绍及区别--转载
要扩展或修改继承的方法.属性.索引器或事件的抽象实现或虚实现,必须使用 override 修饰符. 1. override 方法提供从基类继承的成员的新实现.通过 override 声明重写的方法称为 ...
- springweb flux websocket
直接上代码: import org.springframework.stereotype.Component; import org.springframework.web.reactive.sock ...
- java ee 中 Jsp 页面的定时的跳转(数字倒数)
java ee 中 Jsp 页面的定时的跳转,实现数字倒计时跳转固定页面 1,Servlet类 RefreshServlet类实现 package org.servlet; import java. ...
- 用ruby调用执行shell命令
碰到需要调用操作系统shell命令的时候,Ruby为我们提供了六种完成任务的方法: 1.Exec方法: Kernel#exec方法通过调用指定的命令取代当前进程: 例子: $ ...
- [硬件知识]OP(Over-provisioning)预留空间
SSD上的OP指的是用户不可操作的容量,大小为实际容量减去用户可用容量,OP区域一般被用于优化操作如:WL,GC和坏块映射等. OP一般分三层(见下图).第一层容量固定为SSD标称容量的7.37%,这 ...
- spring定时任务(@Scheduled注解)
(一)在xml里加入task的命名空间 xmlns:task="http://www.springframework.org/schema/task" http://www.spr ...
- mybatis在oracle中的分页扩展
applicationContext.xml <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlS ...