package com.wks.util
{
 public class CheckCode
 {
  public function CheckCode()
  {
  }
  
  /*获取验证码  传入空间参数id  
  *调用方法:
  *   <s:Label id="asd" width="80" height="20" color="#377CD0" text="{getcheckCode(asd)}"
  fontFamily="Georgia" fontSize="20" digitWidth="tabular"/>
  *   <mx:LinkButton label="看不清楚?" click="{asd.text=getcheckCode(asd)}"/>
  */
  public function getcheckCode(obj:Object):String
  {
   var ran:Number;    //获取随机数
   var number:Number;   //得到单个数字
   var code:String;   //获得通过number转化的字符
   var checkCode:String = ""; //得到的随机数
   
   //生成四位随机数
   for(var i:int=0;i<4;i++){
    ran = Math.random();
    number = Math.round(ran*10000);
    
    if(number % 3 == 0)
    { //"A"--"Z"的ASCII码为65-90 "a"--"z" 97--122
     // 二次判断是 取数字或是 大写字母
     if(number % 2 == 0){
      code = String.fromCharCode(48 + (number % 10));
     }else {
      code = String.fromCharCode(65 + (number % 26));
     }
    }else if(number % 3 == 1)
    {
     // 二次判断是 取数字或是 小写字母
     if(number % 2 == 0){
      code = String.fromCharCode(48 + (number % 10));
     }else {
      code = String.fromCharCode(97 + (number % 26));
     }
    }else {
     //对3取余数为2时 进入 
     if(number % 2 == 0){
      code = String.fromCharCode(48 + (number % 10));
     }else {
      code = String.fromCharCode(97 + (number % 26));
     }
    }
    
    checkCode += code;
    
   }
   
   //绘制躁点
   obj.graphics.clear();
   var c:int = checkCode.length * 25;
   for(var j:int=0; j<c;j++)
   {
    var x:int = Math.random() * obj.width;
    var y:int = Math.random() * obj.height;
    obj.graphics.lineStyle(1, 0x7C929D);
    obj.graphics.drawRect(x, y, .5, .5);
   }
   return checkCode;
  }
 }
}