php验证码类

seatop , 2013年4月20日 , 计算机与网络 , 评论(0) , 引用(0) , 阅读(4498) , Via 本站原创

Highslide JS


<?php
class captchaImage {
    public $width=120;                      //图片宽度
  public $height=25;                      //图片高度
  public $length=6;                       //验证码长度
  public $bgColor='#fff';                 //背景颜色
  public $textColor='#999';               //字符颜色
  public $graphicColor='#666';            //干扰线颜色
  public $fontSize=18;                    //字符大小
    public $type=2;                          //0-数字;1-字母;2(或其它)-数字字母混合
  
  //随机字符
  public function randChar() {
      $randchar="";
    for($i=0;$i< $this->length;$i++) {
        $randchar.=chr(rand(97,122));
    }
    return $randchar;
  }
  
  //随机数字
  public function randNum () {
      $randnum="";
    for($i=0;$i< $this->length;$i++) {
        $randnum.=chr(rand(48,57));
    }
    return $randnum;
  }
  
  //随机字符数字混合
  public function randNC() {
      $randnc="";
    for($i=0;$i< $this->length;$i++){
        if(rand(1,10)%2==0){
          $randnc.=chr(rand(48,57));
      }else{
          $randnc.=chr(rand(97,122));          
      }
    }
    return $randnc;
  }
  
  //十六进制颜色值转RGB
  public function hex2rgb($hexcolor) {
      if($hexcolor['0']=='#') {
        $hexcolor=substr($hexcolor,1);
    }
    if(strlen($hexcolor)==6){
        list($r,$g,$b)=array($hexcolor['0'].$hexcolor['1'],$hexcolor['2'].$hexcolor['3'],$hexcolor['4'].$hexcolor['5']);
    }else if(strlen($hexcolor)==3){
        list($r,$g,$b)=array($hexcolor['0'].$hexcolor['0'],$hexcolor['1'].$hexcolor['1'],$hexcolor['2'].$hexcolor['2']);
    }else{
        return false;
    }
    $r=hexdec($r);
    $g=hexdec($g);
    $b=hexdec($b);
    return array($r,$g,$b);
  }
  
  //图片生成
  public function display() {
      $img=imagecreatetruecolor($this->width,$this->height);
    $bgc=$this->hex2rgb($this->bgColor);
    $bgcolor=imagecolorallocate($img,$bgc['0'],$bgc['1'],$bgc['2']);
    $tc=$this->hex2rgb($this->textColor);
    $textcolor=imagecolorallocate($img,$tc['0'],$tc['1'],$tc['2']);
    $gc=$this->hex2rgb($this->graphicColor);
    $graphiccolor=imagecolorallocate($img,$gc['0'],$gc['1'],$gc['2']);
    imagefilledrectangle($img,0,0,$this->width,$this->height,$bgcolor);
    for($i=0;$i<6;$i++){
        imageline($img,0,rand()%$this->height,$this->width,rand()%$this->height,$graphiccolor);
    }
    if($this->type==1){
        $randstr=$this->randChar();
    }else if($this->type==0){
        $randstr=$this->randNum();
    }else{
        $randstr=$this->randNC();
    }
    $_SESSION['CAPTCHA_IMAGE']=$randstr;    //生成SESSION值
    imagettftext($img,$this->fontSize,0,8,$this->height-5,$textcolor,"BOOKOSBI.TTF",$randstr);
    header("Content-type:image/png");
    imagepng($img);
    imagedestroy($img);  
  }  
}

//实例验证码图片 验证码值:$_SESSION['CAPTCHA_IMAGE']
session_start();
$c=new captchaImage();
$c->display();

下载文件 (已下载 697 次)
Tags: ,
1.用事件触发表单提交,取代表单中的submit按钮

$(元素).事件(function(){
    $(表单ID).submit();
});

2.控制表单中原有的submit按钮

$(表单ID).submit(function(){
    if(条件){
        return true;
    }else{
        return false;
    }
});

阻止执行默认事件
$(表单ID).submit(function(event){
    event.preventDefault();
});
Tags:

<html>
<head>
<title>on</title>
<style type="text/css">
.fur,.furC{width:400px;border:1px solid #000;padding:5px;margin:5px;}
</style>
</head>
<body>
<h1>向元素附加事件-on方法</h1>

<hr/>
<br/>
<div id="fuDiv"><div class="furC">点击,创建新元素!</div></div>
<br/><br/>
<hr/>
<br/>
<input type="button" id="offOn" value="移除方法"/>
<br/>
<hr/>
<pre>
☆1.7后live被移除,替代方法为on,用于向创建的元素添加事件,同样可以替代bind,delegate方法

☆为新创建的元素附加方法时,语法为:
    $(document).on("事件","元素",function(){
  ...
  });
  
☆如果不向新创建元素绑定方法,用法可类似于bind方法

☆解绑元素上的事件,如:
    $(document).off("事件","元素");  
  
</pre>
</body>
</html>
<script type="text/javascript" src="./jquery-1.9.1.js"></script>
<script type="text/javascript">
$(function(){    
   $(".furC").on("click",function(){
      $("#fuDiv").append('<div class="fur">这新创建的元素,点击,该元素将被移除</div>');
  });
  $(document).on("click",".fur",function(){
      $(this).remove();
  });
  $(document).on("click","#offOn",function(){
      $(document).off("click",".fur");
  });
});
</script>
Tags:
<html>
<head>
<title>bind</title>
<style type="text/css">
ul{list-style-type:none;}
li{float:left;padding:5px 10px;border:1px solid #000;cursor:pointer;}
</style>
</head>
<body>
<h1>向元素附加事件</h1>
<hr/>
<label for="textInput">文本输入框</label>
<input type="text" id="textInput"/>
<input type="button" id="btInput" value="submit">
<hr/>
<ul>
    <li>导航一</li>
  <li>导航二</li>
  <li>导航三</li>
  <li>导航四</li>
  <li>导航五</li>
</ul>
<br/><br/>
<hr/>
<pre>
1.bind方法接受两个参数,第一个参数是要附加的事件类型,以字符串格式传入;
第二个参数是回调函数,将在事件触发时执行,该函数可以是匿名函数,也可以是具体函数。如:
  $(element).bind("事件:如单击click",function(){
      匿名函数内需执行的代码;
  });
  
2.同时附加多个事件,如:
  $(element).bind({
  事件1:function(){
      ...
  },
  事件2:function(){
      ...
  }
  });
  
3.快捷附加一个事件,如:
    $(element).事件名(function(){
     ...
  });
  
4.解绑元素上的事件,如:
    $(element).unbind("可选事件名,留空则解绑所有事件");  
</pre>
</body>
</html>
<script type="text/javascript" src="./jquery-1.9.1.js"></script>
<script type="text/javascript">
$(function(){
    $("#textInput").val('请输入文本内容!');
    $("#textInput").bind({
  blur:function(){
      var textContent=$(this).val();
    if(textContent==""){
          $(this).val('请输入文本内容!');
    }
  },
  focus:function(){
      $(this).val('');
  }
  });

  $("#btInput").bind("click",function(){
      var textContent=$("#textInput").val();
    alert(textContent);
  });
  
  $("li").bind({
  mouseover:function(){
      $(this).css("background-color","#000");
    $(this).css("color","#fff");
  },
  mouseout:function(){
      $(this).css("background-color","#fff");
    $(this).css("color","#000");
  }  
  });
});
</script>
Tags:


<html>
<head>
<title>ready</title>
</head>
<body>
<h1>先加载再执行</h1>
<pre>
1.使用ready方法传递函数,如:
    $(document).ready(functionName);
    function functionName(){
        ...
    }
  
2.函数可以是匿名函数或具体函数,如:
    $(document).ready(function(){
      ...
  });
  
3.省略ready方法的变形写法,如:
    $(function(){
      ...
  });
4.该方法可以重复使用。
</pre>
</body>
</html>
<script type="text/javascript" src="./jquery-1.9.1.js"></script>
<script type="text/javascript">
//$(document).ready(myAlert);
//$(myAlert);
//function myAlert(){
//   alert("good");
//}
//$(function(){
//    alert("hello");
//});
$(document).ready(function(){
    alert("hello world!");
});
$(function(){
    alert("hello js!");
});
</script>

Tags:

清明纪念卡片

seatop , 2013年4月4日 , 我评你论 , 评论(0) , 引用(0) , 阅读(3089) , Via 本站原创
Highslide JS
Tags:
分页: 8/94 第一页 上页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 下页 最后页 [ 显示模式: 摘要 | 列表 ]
新浪微博账号接入
百度搜索
日历
微博碎语
最新评论
最新留言
热门文章
热门Tags
链接
归档
统计
其他