JavaScript实现网页随机验证码

简介: JavaScript实现网页随机验证码

问题描述

网站为了防止用户利用机器人自动注册、登陆和灌水,都会采用验证码技术。验证码技术其实就是把一串随机的数字生成图片,在图片中添加一些干扰元素,用户采用肉眼识别输入验证码,给后台提交数据完成验证。接下来就来讲解一下如何利用JavaScript制作网页随机验证码。


解决方案

1.n位数字字母验证码

1.1创建HTML页面

在HTML页面建立刷新按钮和验证码显示位置;

<!DOCTYPE html>

<html>

       <head>

              <meta  charset="UTF-8">

              <title>JavaScript制作网页随机验证码</title>

       </head>

       <body>

              <span  id="msg"></span>

              <input  type="button" value="刷新" />         

       </body>

</html>

效果:

图1.1 HTML效果图

在这里我们使用span标记我们的验证码列。它显示某行内的独特样式,在这里可以更好的显示产生的验证码。为了保证后面的程序的正常运行,一定不要省略id属性及修改取值。

1.2 新建JavaScript文件

新建JavaScript文件,命名为getCode.js,保存在与HTML文件相同的位置。在getCode.js文件中键入以下代码。

/*产生随机数的函数*/

function validateCode(n){

       /*验证码中可能包含的字符*/

       var  s ="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

       var  ret = "";//保存生成的验证码

       /*利用for循环,随机产生验证码中的每个字符*/

       for(var  i=0;i<n;i++){

              var  index = Math.floor(Math.random()*62);//随机产生一个0~62位的数值

              //将随机产生的数值作为字符串的小标,在字符串s中取出该字符串,并入ret中

              ret  += s.charAt(index);

       }

       return  ret;//返回产生的验证码

}

/*显示随机数函数*/

function show(){

       //在id为msg的对象中显示验证码

       document.getElementById("msg").innerHTML  = validateCode(4)

}

window.onload = show; //页面加载时执行函数show

在getCode.js文件中,validateCode函数主要用于产生指定位数的随机数,并返回该随机数。函数show主要时调用validateCode函数,并在id为msg的对象中显示该随机数。

1.3 HTML中键入JavaScript文件

在HTML中键入JavaScript代码,具体代码如下:

<script src="js/getCode.js"  type="text/javascript"></script>

1.4 HTML中修改“刷新”按钮

在HTML中修改“刷新”按钮,具体代码如下:

<input type="button"  value="刷新" onclick="show()"/>

1.5 效果

图1.5随机生成验证码


结语

本次的例子使用了两种方法为对象增加事件,onclick事件和onload事件,从而实现n位数字字母验证码的输出问题。故而在JavaScript的学习中要熟练的掌握JavaScript事件,通过发生的事件来驱动函数执行,才能更好的将JavaScript与HTML相结合。



目录
相关文章
|
6月前
|
JavaScript 算法 开发者
如何用JS实现在网页上通过鼠标移动批量选择元素的效果?
本文介绍了类似电脑桌面通过鼠标选择多个图标的实现原理。主要通过监听mousedown、mousemove和mouseup事件,动态调整选择框大小并计算与元素的重叠情况。提供了角重叠和相交重叠的检测方法,并附有示例代码和在线演示链接,方便开发者参考与测试。
199 56
|
5月前
|
Web App开发 数据采集 JavaScript
动态网页爬取:Python如何获取JS加载的数据?
动态网页爬取:Python如何获取JS加载的数据?
898 58
|
2月前
|
编解码 JavaScript 前端开发
如何在网页播放英文的m3u8文件(基于Javascript搭建的在线网页工具)
什么是m3u8?又该如何在网页中高效、便捷地播放英文的m3u8文件呢?今天这篇文章就带你一起了解,并推荐一种基于Javascript搭建的在线网页工具,让你轻松解决播放问题。
661 0
|
5月前
|
数据采集 Web App开发 JavaScript
Python爬虫如何获取JavaScript动态渲染后的网页内容?
Python爬虫如何获取JavaScript动态渲染后的网页内容?
|
12月前
|
存储 JavaScript 前端开发
使用JavaScript构建动态交互式网页:从基础到实践
【10月更文挑战第12天】使用JavaScript构建动态交互式网页:从基础到实践
520 1
|
编解码 前端开发 JavaScript
javascript检测网页缩放演示代码
javascript检测网页缩放演示代码
|
Web App开发 JavaScript 前端开发
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
|
11月前
|
缓存 JavaScript 前端开发
JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用
本文深入讲解了 JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用。
364 5
|
12月前
|
存储 JavaScript 前端开发
【JavaScript】网页交互的灵魂舞者
本文介绍了 JavaScript 的三种引入方式(行内、内部、外部)和基础语法,包括变量、数据类型、运算符、数组、函数和对象等内容。同时,文章还详细讲解了 jQuery 的基本语法和常用方法,如 `text()`、`html()`、`val()`、`attr()` 和 `css()` 等,以及如何插入和删除元素。通过示例代码和图解,帮助读者更好地理解和应用这些知识。
120 1
【JavaScript】网页交互的灵魂舞者