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

/**
* [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匹配当前传入是何种类型的更多相关文章

  1. java使用何种类型表示精确的小数?

    问题 java使用何种类型表示精确的小数? 结论 float和double类型的主要设计目标是为了科学计算和工程计算,速度快,存在精度丢失 BigDecimal用来表示任意精确浮点数运算的类,在商业应 ...

  2. MyBatis的传入参数parameterType类型

    1. MyBatis的传入参数parameterType类型分两种 1. 1. 基本数据类型:int,string,long,Date; 1. 2. 复杂数据类型:类和Map 2. 如何获取参数中的值 ...

  3. MyBatis中传入参数parameterType类型详解

    前言 Mybatis的Mapper文件中的select.insert.update.delete元素中有一个parameterType属性,用于对应的mapper接口方法接受的参数类型.本文主要给大家 ...

  4. 利用传入的Type类型来调用范型方法的解决方案

    起因:自定义一个GridView控件,其数据源来源于一个通用方法Get<T>(),根据你传入的T到数据库中得到相应的数据,问题是定义GridView控件时没法在界面端设置使用泛型,只能在每 ...

  5. mybatis将传入的Integer类型的0被识别成空字符串的问题

    更改mapper文件的sql如下: <if test="interger != null"> interger= #{interger} </if> 原因: ...

  6. 插入数据insert语句中出错:没有与这些操作数匹配的“+”运算符,操作数类型为:const char[ ]+CString

    UpdateData(); CString n; n.Format(L"%d", m_n); _bstr_t strCmd_n = "insert into n(材料,折 ...

  7. JS 判断传入的变量类型是否是Array

    function f(arr){ 1.通过_proto_ 进行判断 (arr._proto_ 指向Array.prototype); 2.通过constructor进行判断 (arr.construc ...

  8. Collections带有的排序方法 传入的元素类型 需是子类或者这个类的实例

  9. 后台传入的boolean类型到前台alert为String类型了(解决方法)

    后台代码: // 进入仪器list界面之前查看 是否是科研处人员        SessionContainer sc = (SessionContainer) session.getAttribut ...

随机推荐

  1. Oracle 相关查询

    --创建用户 create user zzg identified by zzg123; --修改用户的密码 alter user zzg identified by unis; --所有用户所在的表 ...

  2. Spark编程环境搭建(基于Intellij IDEA的Ultimate版本)(包含Java和Scala版的WordCount)(博主强烈推荐)

    福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号:   大数据躺过的坑      Java从入门到架构师      人工智能躺过的坑         Java全栈大联盟   ...

  3. JavaScript位移运算多个大于号的使用方法

    JavaScript中的无符号位移运算符是用三个大于号来表示的 计算方法 例 100>>>2 100的二进制是 01100100 向右移2位后为 00011001 最后结果为25 1 ...

  4. Python -- Gui编程 -- MFC的使用

    1.消息框 mfcDialog.py import win32ui import win32con from pywin.mfc import dialog class MyDialog(dialog ...

  5. windows下搭建Cordova安卓环境

    phoneGap 被收购后衍生出了 Cordova Android 的开发工具也由 Eclipse 向 Android Studio 靠拢 行业动态在更新,所以资料也要跟着变化... 在开始之前,作为 ...

  6. centos7设置SSH安全策略–指定IP登陆

    之前自己搭建了个博客网站(理想三旬),写了些文章,但是由于一些原因慢慢将文章放在博客园了.所以这里将一些文章复制过来.便于以后自己查询. 为了服务器的安全性,我们在日常使用需要授予权限和指定ip登陆来 ...

  7. HihoCoder - 1478 水陆距离

    水陆距离 描述 给定一个N x M的01矩阵,其中1表示陆地,0表示水域.对于每一个位置,求出它距离最近的水域的距离是多少. 矩阵中每个位置与它上下左右相邻的格子距离为1. 输入 第一行包含两个整数, ...

  8. DAO设计模式(转)

    J2EE开发人员使用数据访问对象(DAO)设计模式把底层的数据访问逻辑和高层的商务逻辑分开.实现DAO模式能够更加专注于编写数据访问代码. 我们先来回顾一下DAO设计模式和数据访问对象. DAO基础  ...

  9. ruby 数组操作

    数组的创建 arr = Array.new num #创建num个元素的数组,所有数组元素为nil arr = Array.new num, elem #创建num个元素的数组,所有数组元素为elem ...

  10. vuex数据管理-数据适配

    由于接口在上线前,不可避免的会出现变动,小则属性名变,大则结构变化.如果处理不当,结构变化时,视图的代码也需要做相应的更改,然后就是容错方法的变动,接着重新自测等,这样,变化成本随着结构的复杂度大大加 ...