php各种验证类

<?php

/**

 * 验证类

 *

 */

class VerifyAction{

    /**

     * 是否为空值

     */

    public static function isEmpty($str){

        $str = trim($str);    

        return !empty($str) ? true : false;

    }

    /**

     * 数字验证

     * param:$flag : int是否是整数,float是否是浮点型

     */

    public static function isNum($str,$flag = ‘float‘){

        if(!self::isEmpty($str)) return false;

        if(strtolower($flag) == ‘int‘){

            return ((string)(int)$str === (string)$str) ? true : false;

        }else{

            return ((string)(float)$str === (string)$str) ? true : false;

        }

    

    /**

     * 名称匹配,如用户名,目录名等

     * @param:string $str 要匹配的字符串

     * @param:$chinese 是否支持中文,默认支持,如果是匹配文件名,建议关闭此项(false)

     * @param:$charset 编码(默认utf-8,支持gb2312)

     */

    public static function isName($str,$chinese = true,$charset = ‘utf-8‘){

        if(!self::isEmpty($str)) return false;

        if($chinese){

            $match = (strtolower($charset) == ‘gb2312‘) ? "/^[".chr(0xa1)."-".chr(0xff)."A-Za-z0-9_-]+$/" : "/^[x{4e00}-x{9fa5}A-Za-z0-9_]+$/u";

        }else{

            $match = ‘/^[A-za-z0-9_-]+$/‘;

        }

        return preg_match($match,$str) ? true : false;

    }

    /**

     * 邮箱验证

     */

    public static function isEmail($str){

        if(!self::isEmpty($str)) return false;

        return preg_match("/([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?/i",$str) ? true : false;

    }

    //手机号码验证

    public static function isMobile($str){

        $exp = "/^13[0-9]{1}[0-9]{8}$|15[012356789]{1}[0-9]{8}$|18[012356789]{1}[0-9]{8}$|14[57]{1}[0-9]$/";

        if(preg_match($exp,$str)){

            return true;

        }else{

            return false;

        }

    }

    /**

     * URL验证,纯网址格式,不支持IP验证

     */

    public static function isUrl($str){

        if(!self::isEmpty($str)) return false;

        return preg_match(‘#(http|https|ftp|ftps)://([w-]+.)+[w-]+(/[w-./?%&=]*)?#i‘,$str) ? true : false;

    }

    /**

     * 验证中文

     * @param:string $str 要匹配的字符串

     * @param:$charset 编码(默认utf-8,支持gb2312)

     */

    public static function isChinese($str,$charset = ‘utf-8‘){

        if(!self::isEmpty($str)) return false;

        $match = (strtolower($charset) == ‘gb2312‘) ? "/^[".chr(0xa1)."-".chr(0xff)."]+$/"

        : "/^[x{4e00}-x{9fa5}]+$/u";

        return preg_match($match,$str) ? true : false;       

    }

    /**

     * UTF-8验证

     */

    public static function isUtf8($str){

        if(!self::isEmpty($str)) return false;

        return (preg_match("/^([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){1}/",$word)

        == true || preg_match("/([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){1}$/",$word)

        == true || preg_match("/([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){2,}/",$word)

        == true) ? true : false;

    }

    /**

     * 验证长度

     * @param: string $str

     * @param: int $type(方式,默认min <= $str <= max)

     * @param: int $min,最小值;$max,最大值;

     * @param: string $charset 字符

    */

    public static function length($str,$type=3,$min=0,$max=0,$charset = ‘utf-8‘){

        if(!self::isEmpty($str)) return false;

        $len = mb_strlen($str,$charset);

        switch($type){

            case 1: //只匹配最小值

                return ($len >= $min) ? true : false;

                break;

            case 2: //只匹配最大值

                return ($max >= $len) ? true : false;

                break;

            default: //min <= $str <= max

                return (($min <= $len) && ($len <= $max)) ? true : false;

        }

    }

    /**

     * 验证密码

     * @param string $value

     * @param int $length

     * @return boolean

     */

    public static function isPWD($value,$minLen=6,$maxLen=16){

        $match=‘/^[\\[email protected]#$%^&*()-_=+|{}\[\],.?\/:;\‘\"\d\w]{‘.$minLen.‘,‘.$maxLen.‘}$/‘;

        $v = trim($value);

        if(empty($v))

            return false;

        return preg_match($match,$v);

    

    /**

     * 验证用户名

     * @param string $value

     * @param int $length

     * @return boolean

     */

    public static function isNames($value, $minLen=2, $maxLen=16, $charset=‘ALL‘){

        if(empty($value))

            return false;

        switch($charset){

            case ‘EN‘: $match = ‘/^[_\w\d]{‘.$minLen.‘,‘.$maxLen.‘}$/iu‘;

                break;

            case ‘CN‘:$match = ‘/^[_\x{4e00}-\x{9fa5}\d]{‘.$minLen.‘,‘.$maxLen.‘}$/iu‘;

                break;

            default:$match = ‘/^[_\w\d\x{4e00}-\x{9fa5}]{‘.$minLen.‘,‘.$maxLen.‘}$/iu‘;

        }

        return preg_match($match,$value);

    

    /**

     * 验证邮箱

     * @param string $value

     */

    public static function checkZip($str){

        if(strlen($str)!=6){

            return false;

        }

        if(substr($str,0,1)==0){

            return false;

        }

        return true;

    

    /**

     * 匹配日期

     * @param string $value

     */

    public static function checkDate($str){

        $dateArr = explode("-", $str);

        if (is_numeric($dateArr[0]) && is_numeric($dateArr[1]) && is_numeric($dateArr[2])) {

        if (($dateArr[0] >= 1000 && $timeArr[0] <= 10000) && ($dateArr[1] >= 0 && $dateArr[1] <= 12) && ($dateArr[2] >= 0 && $dateArr[2] <= 31))

            return true;

        else

            return false;

        }

        return false;

    }

    /**

     * 匹配时间

     * @param string $value

     */

    public static function checkTime($str){

        $timeArr = explode(":", $str);

        if (is_numeric($timeArr[0]) && is_numeric($timeArr[1]) && is_numeric($timeArr[2])) {

        if (($timeArr[0] >= 0 && $timeArr[0] <= 23) && ($timeArr[1] >= 0 && $timeArr[1] <= 59) && ($timeArr[2] >= 0 && $timeArr[2] <= 59))

            return true;

        else

            return false;

        }

        return false;

    

}

php各种验证类

时间: 2024-09-28 00:48:17

php各种验证类的相关文章

js 验证表单 js提交验证类

js 验证表单 js提交验证类 附加:js验证radio是否选择 <script language="javascript">function checkform(obj){for(i=0;i<obj.oo.length;i++)         if(obj.oo[i].checked==true) return true; alert("请选择")return false; }</script><form id="f

C# System.Attribute(验证类)

本文以一个项目中通用的验证类来举例说明如何使用自定义Attribute来扩展元数据.  在项目中,我们为了保证各个层次之间的松藕合,通常把在各个层次之间传递数据的封装在一个称为实体类的类中,比如ActionFrom [csharp] view plaincopy using System; namespace AttributeTest { public class ActionForm { private string email = ""; private string passw

JS表单验证类HTML代码实例

以前用的比较多的一个JS表单验证类,对于个人来说已经够用了,有兴趣的可以在此基础上扩展成ajax版本.本表单验证类囊括了密码验证.英文4~10个 字符验证. 中文非空验证.大于10小于100的数字.浮点数验证.日期验证.邮件检查.网址验证.固定电话和手机号码验证.IP地址验证.邮编和QQ号码验证. MSN和身份证验证等. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.

一个PHP常用表单验证类(基于正则)

一个基于正则表达式的PHP常用表单验证类,作者:欣然随风.这个表单判断类的功能有:验证是否为指定长度的字母/数字组合.验证是否为指定长度汉字.身 份证号码验证.是否是指定长度的数字.验证邮件地址.电话号码.验证邮编.url地址.数据库转义.数据格式还原等.在平时的PHP项目开发中,这些都比 较常用哦,下面把代码分享给大家: <?php /** * 页面作用:常用表单验证类 * 作 者:欣然随风 * QQ:276624915 */ class class_post { //验证是否为指定长度的字母

字符串验证类

/***************************************************** * 文件名:StringValidation.cs * 功能描述:扩展方法:字符串验证 * 创建时间:2014-6-7 * 作 者: Eric * * 修改时间: * 修改人: * 修改描述 * ******************************************************/ public static class StringValidation { //

yii IUserIdentity验证类的使用

验证和授权在页面需要限制访问时用到.验证就是确认某人就是他所声称的那个人.通常涉及到用户名和密码,但也包含其他方式,例如智能卡,指纹等.授权是在验证用户后,查明他是否被允许管理指定的资源.通常判断他是否是有权访问资源的角色的成员. Yii 有一个内置的验证/授权框架,它易于使用且可定制. Yii 认证框架的核心是预声明的用户组件,它是一个实现 IWebUser 接口的对象.用户组件代表了当前用户的持久身份信息.可以使用 Yii::app()->user 来访问. 使用用户组件,可以使用 CWeb

php 验证类

<?php /** * 验证类 * * @lastmodify 2014-5-16 * @author jy625 */ class VerifyAction{ /** * 是否为空值 */ public static function isEmpty($str){ $str = trim($str); return !empty($str) ? true : false; } /** * 数字验证 * param:$flag : int是否是整数,float是否是浮点型 */ public s

php 常用验证类及正则

正则表达式在遇到新的时候将会不断更新 include "<span style="font-family: Consolas, 'Courier New', Courier, mono, serif; line-height: 18px;">ValidateParameterConfig.php</span>"; class Validation { private static function getRexp($rexp) { $_rex

JavaScript 数据验证类

/* JavaScript:验证类 author:杨波 date:20160323 1.用户名验证 2.密码验证 3.重复密码验证 4.邮箱验证 5.手机号验证 6.验证码验证 */ var yb_validate = function(){ //用户名验证 this.username = function(username){ if(username.length==0) return new Array(false,'请输入用户名'); else if(username.length<6)