zoukankan      html  css  js  c++  java
  • PHP小函数集-篇一

    一、 验证

        /**
         * 判断用户名是否规范
         */
        function is_username($username)
        {
            if (preg_match("/^[a-zA-Z]{1}([0-9a-zA-Z]|[._]){3,19}$/",$username))
            {
                return true;
            }
        }
        /**
         * 判断密码是否规范
         */
        function is_password($password)
        {
            if (preg_match("/^[@A-Za-z0-9!#$\%^&*.~]{6,22}$/",$password))
            {
                return true;
            }
        }
        /**
         * 判断是否为数字
         */
        function is_number($number)
        {
            if (preg_match("/^[0-9]*[1-9][0-9]*$/", $number))
            {
                return true;
            }
        }
        /**
         * 判断是否为邮件地址
         */
        function is_email($email)
        {
            if (preg_match("/^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$/", $email))
            {
                return true;
            }
        }
        /**
         * 判断是否为字母
         */
        function is_letter($letter)
        {
            if (preg_match("/^[a-z]+$/", $letter))
            {
                return true;
            }
        }
        /**
         * 验证文本域输入的内容
         */
        function is_text($text)
        {
            if (preg_match("/^[x{4e00}-x{9fa5}a-zA-Z0-9,,。.??!!*-_s]+$/u", $text))
            {
                return true;
            }
        }
        /**
         * 验证文本框输入的内容
         */
        function is_textarea($textarea)
        {
            if (preg_match("/^[x{4e00}-x{9fa5}a-zA-Z0-9,,。.??!!*-_@=#s
    
    ]+$/u", $textarea))
            {
                return true;
            }
        }
        /**
         * 判断 文件/目录 是否可写
         */
        function check_writeable($file)
        {
            if (file_exists($file))
            { 
                if (is_dir($file))
                {
                    $dir = $file;
                    if ($fp = @fopen("$dir/test.txt", 'w'))
                    {
                        @fclose($fp);
                        @unlink("$dir/test.txt");
                        $writeable = 1;
                    }
                    else
                    {
                        $writeable = 0;
                    }
                }
                else
                {
                    if ($fp = @fopen($file, 'a+'))
                    {
                        @fclose($fp);
                        $writeable = 1;
                    }
                    else
                    {
                        $writeable = 0;
                    }
                }
            }
            else
            {
                $writeable = 2;
            }
        
            return $writeable;
        }
        /**
         +----------------------------------------------------------
         * 递归方式的对变量中的特殊字符进行转义
         +----------------------------------------------------------
         */
        function addslashes_deep($value)
        {
            if (empty ($value))
            {
                return $value;
            }
    
            if (is_array($value))
            {
                foreach ((array) $value as $k => $v)
                {
                    unset ($value[$k]);
                    $k = addslashes($k);
                    if (is_array($v))
                        $value[$k] = addslashes_deep($v);
                    else
                        $value[$k] = addslashes($v);
                }
            }
            else
            {
                $value = addslashes($value);
            }
            return $value;
        }
    
        /**
         +----------------------------------------------------------
         * 递归方式的对变量中的特殊字符去除转义
         +----------------------------------------------------------
         */
        function stripslashes_deep($value)
        {
            if (empty ($value))
            {
                return $value;
            }
    
            if (is_array($value))
            {
                foreach ((array) $value as $k => $v)
                {
                    unset ($value[$k]);
                    $k = stripslashes($k);
                    if (is_array($v))
                    {
                        $value[$k] = stripslashes_deep($v);
                    }
                    else
                    {
                        $value[$k] = stripslashes($v);
                    }
                }
            }
            else
            {
                $value = stripslashes($value);
            }
            return $value;
        }
    
        /**
         +----------------------------------------------------------
         * 交互数据转义操作
         +----------------------------------------------------------
         */
        function dou_magic_quotes()
        {
            if (!@ get_magic_quotes_gpc())
            {
                if (!empty ($_GET))
                    $_GET = addslashes_deep($_GET);
                if (!empty ($_POST))
                    $_POST = addslashes_deep($_POST);
                $_COOKIE = addslashes_deep($_COOKIE);
                $_REQUEST = addslashes_deep($_REQUEST);
            }
        }
        /**
         +----------------------------------------------------------
         * 获取真实IP地址
         +----------------------------------------------------------
         */
        function get_ip()
        {
            $ip = false;
            if (!empty ($_SERVER["HTTP_CLIENT_IP"]))
            {
                $ip = $_SERVER["HTTP_CLIENT_IP"];
            }
            if (!empty ($_SERVER['HTTP_X_FORWARDED_FOR']))
            {
                $ips = explode(", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
                if ($ip)
                {
                    array_unshift($ips, $ip);
                    $ip = FALSE;
                }
                for ($i = 0; $i < count($ips); $i++)
                {
                    if (!preg_match("/^(10|172.16|192.168)./", $ips[$i]))
                    {
                        $ip = $ips[$i];
                        break;
                    }
                }
            }
            return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
        }
  • 相关阅读:
    Ajax与JSON的一些总结
    ASP.NET Cache的一些总结
    8个非常有用的HTML5工具
    Trie树和Ternary Search树的学习总结
    仿微博字符统计和本地存储功能的实现
    SQL Server 高性能写入的一些总结
    Deadlock的一些总结
    Javascript Context和Scope的一些学习总结
    网络攻击技术——Broken authentication
    Ember.js的一些学习总结
  • 原文地址:https://www.cnblogs.com/zjfazc/p/3781552.html
Copyright © 2011-2022 走看看