动态生成校验码

来源:互联网 发布:光束灯编程 编辑:程序博客网 时间:2024/05/14 16:14
参考自http://www.cnblogs.com/xfxr/archive/2009/07/27/1532042.html 

 

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
</head>
<body>
    <div align="center">
  <div style="font-size: 35px;margin-top:20px"></div>
  <div align="center" style="margin-top:20px">
   <div id="divCode" align="center" style="font-size: 25px;background-color:White; width:150px; height:16px; padding:5px; text-align:center; vertical-align:middle; letter-spacing:5px; border:solid 1px blue">
    <span></span><br/>
    <span></span><br/>
    <span></span><br/>
    <span></span><br/>
    <span></span><br/>
   </div>
  </div>
  <input id="Button1" type="button" value="抽取" style="margin-top:20px" onclick="JavaScript:validteCode()"/>
    </form>
</body>
</html>
<script language="JavaScript" type="text/JavaScript">
var handle;

function validteCode()
{
 var btn = document.getElementById("Button1");
 if ( btn.value == "停止" )
 {
  btn.value = "抽取";
  clearInterval(handle);
 }
 else if ( btn.value == "抽取" )
 {
  btn.value = "停止";
  handle = setInterval(getValidateCodeOnce,50);
 }

}

function getValidateCodeOnce()
{
 var spans = document.getElementsByTagName("span",document.getElementById("divCode"));
 var codes = [];
    var colors = ["Red","Green","Gray","Blue","Maroon","Aqua","Fuchsia","Lime","Olive","Silver"];
    for(var i=0;i<spans.length;i++)
    {
        spans[i].innerHTML = getRandom(codes);
        spans[i].style.color = colors[Math.floor(Math.random()*10)];    //随机设置验证码颜色 
    }
}

function getRandom(codes)
{
 var rand = Math.floor(Math.random()*100)%50 + 1;
 var flag = false;
 for ( var code in codes )
 {
  if ( rand == code )
  {
   flag = true;
  }
 }
 if ( flag )
 {
  return getRandom(codes);
 }
 else
 {
  codes.push(rand);
  return rand;
 }
}
document.onload = validteCode();
</script>

原创粉丝点击