js实现简单的验证码


Posted in Javascript onDecember 25, 2015

验证码大家应该不陌生,主要是为了网站的安全性,防止恶意注册和登陆。验证码实现的方式各有不同,下面是一段用javascript实现的验证码效果,供大家参考之用,希望能够给大家带来帮助。

运行效果图:

js实现简单的验证码

js实现简单的验证码

代码如下:

<html>
<head>
<title>js验证码</title>
<style type="text/css">
.code 
{
 background:url(code_bg.jpg);
 font-family:Arial;
 font-style:italic;
 color:blue;
 font-size:30px;
 border:0;
 padding:2px 3px;
 letter-spacing:3px;
 font-weight:bolder;
 float:left;
 cursor:pointer;
 width:150px;
 height:60px;
 line-height:60px;
 text-align:center;
 vertical-align:middle;
}
a 
{
 text-decoration:none;
 font-size:12px;
 color:#288bc4;
}
a:hover 
{
 text-decoration:underline;
}
</style>
<script type="text/javascript">
var code;
function createCode() 
{
 code = "";
 var codeLength = 6; //验证码的长度
 var checkCode = document.getElementById("checkCode");
 var codeChars = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
   'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',
   'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'); //所有候选组成验证码的字符,当然也可以用中文的
 for(var i = 0; i < codeLength; i++) 
 {
 var charNum = Math.floor(Math.random() * 52);
 code += codeChars[charNum];
 }
 if(checkCode) 
 {
 checkCode.className = "code";
 checkCode.innerHTML = code;
 }
}
function validateCode() 
{
 var inputCode=document.getElementById("inputCode").value;
 if(inputCode.length <= 0) 
 {
 alert("请输入验证码!");
 }
 else if(inputCode.toUpperCase() != code.toUpperCase()) 
 {
  alert("验证码输入有误!");
  createCode();
 }
 else 
 {
 alert("验证码正确!");
 }  
} 
</script>
</head>
<body onload="createCode()">
<form id="form1" runat="server" onsubmit="validateCode()">
 <div>
 <table border="0" cellspacing="5" cellpadding="5" >
  <tr>
  <td></td>
  <td><div class="code" id="checkCode" onclick="createCode()" ></div></td>
  <td><a href="#" onclick="createCode()">看不清换一张</a></td>
  </tr>
  <tr>
  <td>验证码:</td>
  <td><input style="float:left;" type="text" id="inputCode" /></td>
  <td>请输入验证码</td>
  </tr>
  <tr>
  <td></td>
  <td><input id="Button1" onclick="validateCode();" type="button" value="确定" /></td>
  <td></td>
  </tr>
 </table>
 </div>
</form>
</body>
</html>

希望本文所述对大家学习javascript程序设计有所帮助。

Javascript 相关文章推荐
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
Nov 14 Javascript
Enter转换为Tab的小例子(兼容IE,Firefox)
Nov 14 Javascript
常见的原始JS选择器使用方法总结
Apr 09 Javascript
浅谈JavaScript数据类型
Mar 03 Javascript
window.open()实现post传递参数
Mar 12 Javascript
图解js图片轮播效果
Dec 20 Javascript
AngularJS使用自定义指令替代ng-repeat的方法
Sep 17 Javascript
详解微信小程序——自定义圆形进度条
Dec 29 Javascript
vue通过路由实现页面刷新的方法
Jan 25 Javascript
微信小程序6位或多位验证码密码输入框功能的实现代码
May 29 Javascript
微信小程序使用二次贝塞尔曲线画波浪
Dec 25 Javascript
layUI实现三级导航菜单效果
Jul 26 Javascript
借助FileReader实现将文件编码为Base64后通过AJAX上传
Dec 24 #Javascript
javascript与jquery中的this关键字用法实例分析
Dec 24 #Javascript
JS实现部分HTML固定页面顶部随屏滚动效果
Dec 24 #Javascript
jQuery中hover与mouseover和mouseout的区别分析
Dec 24 #Javascript
基于JS2Image实现圣诞树代码
Dec 24 #Javascript
jquery读写cookie操作实例分析
Dec 24 #Javascript
jquery.cookie实现的客户端购物车操作实例
Dec 24 #Javascript
You might like
有关PHP性能优化的介绍
2013/06/20 PHP
php 不使用js实现页面跳转
2014/02/11 PHP
网站防止被刷票的一些思路与方法
2015/01/08 PHP
php 使用array函数实现分页
2015/02/13 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
2017/11/17 PHP
PDO::beginTransaction讲解
2019/01/27 PHP
JQuery SELECT单选模拟jQuery.select.js
2009/11/12 Javascript
javascript中的prototype属性实例分析说明
2010/08/09 Javascript
Asp.net下使用Jquery Ajax传送和接收DataTable的代码
2010/09/12 Javascript
formValidator3.3的ajaxValidator一些异常分析
2011/07/12 Javascript
JQuery入门——用bind方法绑定事件处理函数应用介绍
2013/02/05 Javascript
热点新闻滚动特效的js代码
2013/08/17 Javascript
页面装载js及性能分析方法介绍
2014/03/21 Javascript
给html超链接设置事件不使用href来完成跳
2014/04/20 Javascript
jQuery EasyUI Draggable拖动组件
2017/03/01 Javascript
基于vue+ bootstrap实现图片上传图片展示功能
2017/05/17 Javascript
JS中Safari浏览器中的Date
2017/07/17 Javascript
vue实现一个炫酷的日历组件
2018/10/08 Javascript
微信小程序页面间值传递的两种方法
2018/11/26 Javascript
js实现鼠标拖拽缩放div实例代码
2019/03/25 Javascript
JS数组属性去重并校验重复数据
2020/01/10 Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
2020/09/04 Javascript
[50:58]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 Mineski vs EG
2018/04/03 DOTA
python获得文件创建时间和修改时间的方法
2015/06/30 Python
Pycharm学习教程(3) 代码运行调试
2017/05/03 Python
基于使用paramiko执行远程linux主机命令(详解)
2017/10/16 Python
python中requests库session对象的妙用详解
2017/10/30 Python
python根据时间获取周数代码实例
2019/09/30 Python
python 多进程队列数据处理详解
2019/12/23 Python
Python3与fastdfs分布式文件系统如何实现交互
2020/06/23 Python
python 求两个向量的顺时针夹角操作
2021/03/04 Python
Moss Bros官网:英国排名第一的西装店
2020/02/26 全球购物
纠纷协议书
2014/04/16 职场文书
村创先争优活动总结
2014/08/28 职场文书
大专护理专业自荐信
2015/03/25 职场文书
2015年学校办公室工作总结
2015/05/26 职场文书