之前接触过的验证码都是图片,今天碰到了一个用js生成随机验证码的demo,拿来敲一敲和大家分享。
效果:
html代码:
<p>验证码:</p> <div> <a href="#" ></a> </div>
给div设置了一个click点击事件,js代码如下:
function getCode(n) { var all = "azxcvbnmsdfghjklqwertyuiopZXCVBNMASDFGHJKLQWERTYUIOP0123456789"; var b = ""; for (var i = 0; i < n; i++) { var index = Math.floor(Math.random() * 62); b += all.charAt(index); } return b; }; function change() { document.getElementById("login").innerHTML = getCode(4); } window.onload = change;
定义一个变量,令它的值为26个字母和0-9十个数字。
Math.random()是令系统随机选取大于等于 0.0 且小于 1.0 的伪随机double 值。
例如:Math.random()*62 得到的值:
Math.floor 是对一个数字向下取整,之前在博客里面有提到过。
charAt方法可返回指定位置的字符,之前在博客里面也有提到过。
这些都已经很熟悉了,就当作是复习一遍吧。
拿到随机的四个数字,拼接到div标签里。就得到了想要的效果。