随机验证码在实际开发中经常用到,看似复杂,实则非常简单。我们只需要用到前面学到的生成随机数的技巧,然后结合字符串与数组操作就可以轻松实现。

实现代码如下:

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script> var str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; var arr = str.split(""); var result = ""; for(var i=0;i<4;i++) { var n = Math.floor(Math.random() * arr.length); result += arr[n]; } document.write(result); </script> </head> <body> </body> </html>

浏览器预览效果如下图所示。

分析:

上面用Math.random()生成了随机验证码,每一次的运行结果都是不一样的。这里注意一点,由于数组下标是从0开始的,因此写成下面这样是错误的。

var n = Math.floor(Math.random() * (arr.length + 1));

正确的应该写成:

var n = Math.floor(Math.random() * arr.length);