验证码通用模块 javascript版

本文介绍了一种使用JavaScript生成验证码的方法,并提供了完整的代码示例。该方法通过随机选择数字图像来组成验证码,用户可以通过点击图片更换验证码组合。同时,还提供了一个验证用户输入是否正确的函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CheckCode.js

 

 

 

/*
getCheckCode(elementId)生成验证码,将在Id为elementId的HTML元素的innerHTML中写入HTML图片源码
CheckCodeOK("用户输入的验证码") 返回true,即为通过验证
*/
var imgFolderPath="images/CheckCode/";  //存放路径
var fileExt=".gif";  //文件扩展名,要加上圆点的
var imgWidth=15;  //图像宽
var imgHeight=20;  //图像高
var imgFileName=new Array(10); //文件名,不要加扩展名
var CheckCodeStr="";  //存放当前的验证码,可以用来比较
imgFileName[0]="0";
imgFileName[
1]="1";
imgFileName[
2]="2";
imgFileName[
3]="3";
imgFileName[
4]="4";
imgFileName[
5]="5";
imgFileName[
6]="6";
imgFileName[
7]="7";
imgFileName[
8]="8";
imgFileName[
9]="9";

function getCheckCode(elementId)  //生成验证码,将在Id为elementId的HTML元素的innerHTML中写入HTML图片源码
{
    htmlStr
="";
    CheckCodeStr
=""//清空原验证码
    for (i=0;i<4;i++)
    {
        num
=Math.round(Math.random()*10-0.5);
        CheckCodeStr
+=num.toString();
        filePath
=imgFolderPath+imgFileName[num]+fileExt;
        htmlStr
+="<img border=0 width=@width@ height=@height@ alt='点击更换一组验证码' src='@src@' onclick='getCheckCode("@elementid@")' style='cursor:hand'>";
        htmlStr
=htmlStr.replace("@width@",imgWidth);
        htmlStr
=htmlStr.replace("@height@",imgHeight);
        htmlStr
=htmlStr.replace("@src@",filePath);
        htmlStr
=htmlStr.replace("@elementid@",elementId);
    }
    document.getElementById(elementId).innerHTML
=htmlStr;
}

function CheckCodeOK(str)
{
    
if (str==CheckCodeStr)
    {
        
return true;
    }
    
else
    {
        
return false;
    }
}

 

test.html

<script language=javascript src=CheckCode.js></script>

<body onload="getCheckCode('CheckCodeImg')">

<div id="CheckCodeImg"> <!--验证码图片出现在此处--></div>

<input type=button value="Click Me" onclick="getCheckCode('CheckCodeImg')"><br><br>
<input type=text name="CheckCode">
<input type=button value="Check" onclick="if (CheckCodeOK(document.getElementById('CheckCode').value)){alert('OK');}else {alert('error')}">

</body>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值