PHP匹配当前传入是何种类型

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

/**
 * [is_string_regular_type 正则自动验证传入数据]
 * @E-mial [email protected]
 * @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);
    }
}

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

时间: 2024-08-07 16:59:11

PHP匹配当前传入是何种类型的相关文章

29.输入三个实数,判断能否构成三角形;若能,再说明是何种类型的三角形

#include<iostream> using namespace std; int main() { int a,b,c; cout<<"please input a,b and c : "<<endl; cin>>a>>b>>c; if((a+b<c)||(a+c<b)||(b+c<a)||(a-b>=c)||(a-c>=b)||(b-c>=a)||(b-a>=c)|

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

起因:自定义一个GridView控件,其数据源来源于一个通用方法Get<T>(),根据你传入的T到数据库中得到相应的数据,问题是定义GridView控件时没法在界面端设置使用泛型,只能在每个使用这个GridView控件时绑定数据.如果你没看懂这个起因也没关系,我们用一段代码来描述一下问题:我希望使用的是从外边传过来的类型tt来调用test1范型方法 class Program     {         static void Main(string[] args)         {    

springmvc 请求出现400错误(当传入的参数类型是Date时加上下面代码试试)

@InitBinder protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) throws Exception { binder.registerCustomEditor(Date.class, new DatePropertyEditor(yourDateformat)); }

App的打磨之路(中)

前言:该文接上篇博文App的打磨之路(上),继续描述混淆及APK瘦身. 一.混淆 1.混淆原理 Java 是一种跨平台的.解释型语言,Java 源代码编译成中间"字节码"存储于 class 文件中.由于跨平台的需要,Java 字节码中包括了很多源代码信息,如变量名.方法名,并且通过这些名称来访问变量和方法,这些符号带有许多语义信息,很容易被反编译成 Java 源代码.为了防止这种现象,我们可以使用 Java 混淆器对 Java 字节码进行混淆. 混淆就是对发布出去的程序进行重新组织和处

proguard混淆

为了防止开发APP的重要code 被泄露,我们往往需要混淆(Obfuscation code ), 也就是把方法,字段,包和类这些java 元素的名称改成无意义的名称,这样代码结构没有变化,还可以运行,但是想弄懂代码的架构却很难. proguard 就是这样的混淆工具,它可以分析一组class 的结构,根据用户的配置,然后把这些class 文件的可以混淆java 元素名混淆掉.在分析class 的,同时他还有其他两个功能,删除无效代码(Shrinking 收缩),和代码进行优化 (Optimiz

mybatis的 传入基本类型注意点

使用Mybatis查询时,其参数可以是基本数据类型或者像Integer和String这样的简单的数据对象,也可以是复杂对象(JavaBean)或者map等, 当使用基本数据类型的参数时,若这个参数的使用放在了判断条件中 <!-- mybatis 动态sql--> <select id="findFruit" resultType="Fruit"> SELECT * FROM tb_fruit WHERE name = 'helloworld'

Android 中文件类型与MIME的匹配表(转)

背景介绍: MIME:全称Multipurpose Internet Mail Extensions,多功能Internet 邮件扩充服务.它是一种多用途网际邮件扩充协议,在1992年最早应用于电子邮件系统,但后来也应用到浏览器.MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开.多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式. 在Android中通过文件的MIME类型来判断有哪些应用程序可以处理这些文

mybatis传入参数类型parameterType和输出结果类型resultType详解

前言 Mybatis的Mapper文件中的select.insert.update.delete元素中都有一个parameterType和resultType属性,parameterType属性用于对应的mapper接口方法接受的参数类型,resultType用于指定sql输出的结果类型. resultType:指定sql输出结果类型,总共就两种: 1. 基本数据类型. 2. pojo类类型.mybatis将sql查询结果的一行记录数据映射为resultType指定类型的对象.如果有多条数据,则

jQuery源码分析系列(36) : Ajax - 类型转化器

什么是类型转化器? jQuery支持不同格式的数据返回形式,比如dataType为 xml, json,jsonp,script, or html 但是浏览器的XMLHttpRequest对象对数据的响应只有 responseText与responseXML 二种 所以现在我要定义dataType为jsonp,那么所得的最终数据是一个json的键值对,所以jQuery内部就会默认帮你完成这个转化工作 jQuery为了处理这种执行后数据的转化,就引入了类型转化器,如果没有指定类型就依据响应头Con