• 验证码( 随机数)


    方式一(变色版):

    <html>
    <head>
    	<meta charset="UTF-8"/>
    	<title></title>
    	<script src="jquery-2.0.2.min.js"></script>
    </head>
    <body>
    <?php
    header("content_type:text/html;charset=utf-8");
    /* 
        //以点的形式来连接变量
        $str1='hello';
        $str2='world';
        echo $str1.$str2;
         */
    
    //验证码一
    // $str="请输入验证码";
    // $rand=mt_rand(1000, 9999);
    //echo $str.$rand;
    
    //验证码二
    //$str="请输入验证码:";
    $str="";
    $str.="<span style='color:rgb(".mt_rand(0,255).",".mt_rand(0,255)."
        ,".mt_rand(0,255).")'>".mt_rand(0, 9)."</span>";
    $str.="<span style='color:rgb(".mt_rand(0,255).",".mt_rand(0,255)."
        ,".mt_rand(0,255).")'>".mt_rand(0, 9)."</span>";
    $str.="<span style='color:rgb(".mt_rand(0,255).",".mt_rand(0,255)."
        ,".mt_rand(0,255).")'>".mt_rand(0, 9)."</span>";
    $str.="<span style='color:rgb(".mt_rand(0,255).",".mt_rand(0,255)."
        ,".mt_rand(0,255).")'>".mt_rand(0, 9)."</span>";
    //echo $str;
    ?>
        <DIV>
           <span>请输入验证码:</span>
    	   <input type="text" id="yzm" />
    	   <span id="zymzhi"><?php echo $str; ?></span>
        </DIV>
          
    	<input type="submit" id="sub" onclick="check()"/>
    </body>
    <SCRIPT type="text/javascript">
    function check(){
    	var str1=$("#zymzhi").text();
    	var str2=$("#yzm").val();
    	if(str1==str2){
    	    alert("OK");
    		}
    	else{
            alert("false");
    		}
    }
    </SCRIPT>
    </html>
    

      方式二:(随机数类)

    <?php
    class RandString{
        //这个属性表示随机数的长度
        private $length;
        //type:1:数字类型;2:字母;3:数字+字母
        private $type;
        
        public function __construct($length,$type){
            $this->length=$length;
            $this->type=$type;
        }
        
        public function randNum(){
            switch ($this->type){
                case 1:
    //                 $arr=array_rand(range(0, 9),$this->length);//从数组中取出一个或多个随机的单元
    //                 return join($arr);//join表示将数组拼接成字符串;
                    return join(array_rand(range(0, 9),$this->length));
                    break;
                
                case 2:
    //                 array_merge合并一个或多个数组
    //                 array_flip数组中的键值对进行转换
    //                 $array=array_merge(range('a', 'z'),range('A', 'Z'));
    //                 $array=array_flip($array);
    //                 $arr=array_rand($array,$this->length);
    //                 return join($arr);
                    //return join(array_rand(array_flip(array_merge(range('a', 'z'),range('A', 'Z'))),$this->length));
                    break;
                    
                case 3:
                    return join(array_rand(array_flip(array_merge(range(0,9),range('a', 'z'),range('A', 'Z'))),$this->length));
                    break;
            }
        }
    }
    
    $strNum=new RandString(4, 3);//参数一:随机数长度;参数二:随机数类型{1:数字类型;2:字母;3:数字+字母
    echo $strNum->randNum();
    

      

  • 相关阅读:
    【SCOI 2011】 糖果
    【POJ 3159】 Candies
    【POJ 1716】 Integer Intervals
    【POJ 2983】 Is the information reliable?
    【POJ 1364】 King
    【POJ 1201】 Intervals
    【POJ 1804】 Brainman
    6月10日省中提高组题解
    【POJ 3352】 Road Construction
    【POJ 1144】 Network
  • 原文地址:https://www.cnblogs.com/zst062102/p/6000006.html
Copyright © 2020-2023  润新知