JavaScript实现随机码的生成与校验

 更新时间:2021年04月29日 11:43:17   作者:知识进脑的肖老千啊  
这篇文章主要为大家详细介绍了JavaScript实现随机码的生成与校验,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

JavaScript之随机码的生成与校验,供大家参考,具体内容如下

由于获取事件源有两种写法,所以在此处都附上:

这个是直接用var去定义的

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>随机验证码校验</title>
    <style type="text/css">
        #code{
            width: 100px;
            height: 100px;
            background-color: #ddd;
            padding: 10px;
            line-height: 100px;
            text-align: center;
            font-size: 20px;
            color: red;
            /*font-weight: bold;*/
        }
    </style>
</head>
<body>
    <div id="code"></div>
    <input type="text" name="" id="newCode">
    <input type="button" name="" id="validate" value="验证">
    <script type="text/javascript">
        window.onload = function (){
            var code;
            // 1.获取对应的标签
            var codeDiv = document.getElementById("code");
            var newCodeInput = document.getElementById("newCode");
            var validate = document.getElementById("validate");

            // 加载页面获取对应验证码
            creatCode()

            // 1.获取min到max之间的整数 1~100
            function random(max,min){
                return Math.floor(Math.random()*(max-min)+min);
            }

            function creatCode(){
                code = "";
                // 设置长度
                var codeLenth = 4;
                var randomCode =[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"];
                for(var i=0;i<codeLenth;i++){
                    // 设置随机范围36范围
                    var index = random(0,36);
                    code += randomCode[index];
                }
                codeDiv.innerHTML = code;
            }
            // 验证按钮校验
            validate.onclick = function (){
                // 获取输入用户的验证码
                var newCode = newCodeInput.value.toUpperCase();
                if (newCode === code){
                    // 验证成功  跳转对应的网址
                    window.location.href = "http://www.baidu.com";
                }else {
                    // 验证失败
                    alert("验证失败,请重新输入")
                    // 输入框置空
                    newCodeInput.value = "";
                    // 重新获取验证码
                    creatCode();
                }
            }
        }
    </script>
</body>
</html>

这个是用function定义变量的:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>随机验证码校验</title>
    <style type="text/css">
        #code{
            width: 100px;
            height: 100px;
            background-color: #ddd;
            padding: 10px;
            line-height: 100px;
            text-align: center;
            font-size: 20px;
            color: red;
            /*font-weight: bold;*/
        }
    </style>
</head>
<body>
    <div id="code"></div>
    <input type="text" name="" id="newCode">
    <input type="button" name="" id="validate" value="验证">
    <script type="text/javascript">
        window.onload = function (){
            var code;
            // 1.获取对应的标签(获取事件源)
            function $(id){
                return typeof id === "string"?document.getElementById(id):null;
            }

            // 加载页面获取对应验证码
            creatCode()

            // 1.获取min到max之间的整数 1~100
            function random(max,min){
                return Math.floor(Math.random()*(max-min)+min);
            }

            function creatCode(){
                code = "";
                // 设置长度
                var codeLenth = 4;
                var randomCode =[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"];
                for(var i=0;i<codeLenth;i++){
                    // 设置随机范围36范围
                    var index = random(0,36);
                    code += randomCode[index];
                }
                $("code").innerHTML = code;
            }
            // 验证按钮校验
            $("validate").onclick = function (){
                // 获取输入用户的验证码
                var newCode = $("newCode").value.toUpperCase();
                if (newCode === code){
                    // 验证成功  跳转对应的网址
                    window.location.href = "http://www.baidu.com";
                }else {
                    // 验证失败
                    alert("验证失败,请重新输入")
                    // 输入框置空
                    $("newCode").value = "";
                    // 重新获取验证码
                    creatCode();
                }
            }
        }
    </script>
</body>
</html>

两种方式所实现效果一样。附上效果图:

当输入错误的数据进行验证时,会提示:

当输入正确的数据进行验证时,点击验证,如果验证成功,会跳转指定路径。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 利用Javascript裁剪图片并存储的简单实现

    利用Javascript裁剪图片并存储的简单实现

    裁剪图片对我们来说是再熟悉不过的了,最近工作中就又遇到了这个需求,所以想着干脆整理下来,方法大家和自己在需要的时候参考学习,所以这篇文章主要介绍了利用Javascript裁剪图片并存储的简单实现,后端PHP处理我用的是THINKPHP框架,需要的朋友可以参考下。
    2017-03-03
  • JavaScript设计模式之装饰者模式介绍

    JavaScript设计模式之装饰者模式介绍

    这篇文章主要介绍了JavaScript设计模式之装饰者模式介绍,通一个类来动态的对另一个类的功能对象进行前或后的修饰,给它辅加一些额外的功能; 这是对一个类对象功能的装饰,装饰的类跟被装饰的类,要求拥有相同的访问接口方法(功能),需要的朋友可以参考下
    2014-12-12
  • 生成html静态文件后的分页(客户端版)

    生成html静态文件后的分页(客户端版)

    生成html静态文件后的分页(客户端版)...
    2006-07-07
  • DOM节点删除函数removeChild()用法实例

    DOM节点删除函数removeChild()用法实例

    这篇文章主要介绍了DOM节点删除函数removeChild()用法,实例分析了removeChild()函数实现结点删除的技巧,需要的朋友可以参考下
    2015-01-01
  • JS解析json数据并将json字符串转化为数组的实现方法

    JS解析json数据并将json字符串转化为数组的实现方法

    json数据在ajax实现异步交互时起到了很重要的作用,他可以返回请求的数据,然后利用客户端的js进行解析,这一点体现出js的强大,本文介绍JS解析json数据并将json字符串转化为数组的实现方法,需要了解的朋友可以参考下
    2012-12-12
  • js实现带农历和八字等信息的日历特效

    js实现带农历和八字等信息的日历特效

    本文主要介绍了js实现带农历和八字等信息的日历特效,小编觉得挺不错的,现在分享给大家,也给大家做个参考
    2016-05-05
  • 11款基于Javascript的文件管理器

    11款基于Javascript的文件管理器

    11款基于JavaScript的文件管理器,大多数免费开源,功能并不逊色于那些专业的文件管理程序。
    2009-10-10
  • echarts报错Cannot read properties of null (reading ‘getAttribute‘)的解决

    echarts报错Cannot read properties of null (reading ‘getA

    最近在开发Echarts忽然遇到了个问题,这篇文章主要给大家介绍了关于echarts报错Cannot read properties of null (reading ‘getAttribute‘)的解决方法,需要的朋友可以参考下
    2023-01-01
  • 浅谈发布订阅模式与观察者模式

    浅谈发布订阅模式与观察者模式

    这篇文章主要介绍了浅谈发布订阅模式与观察者模式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-04-04
  • JS实现把鼠标放到链接上出现滚动文字的方法

    JS实现把鼠标放到链接上出现滚动文字的方法

    这篇文章主要介绍了JS实现把鼠标放到链接上出现滚动文字的方法,涉及JavaScript响应鼠标事件动态操作页面元素的相关技巧,需要的朋友可以参考下
    2016-04-04

最新评论