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>

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

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

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

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

相关文章

  • webpack多入口打包示例代码

    webpack多入口打包示例代码

    这篇文章主要介绍了webpack多入口打包的相关资料,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-12-12
  • 精通Javascript系列之数值计算

    精通Javascript系列之数值计算

    在JS中如果希望某个变量包含一个数值,那么无需限定其必须是整数或者是浮点数,下面来个例子
    2011-06-06
  • javascript伸缩型菜单实现代码

    javascript伸缩型菜单实现代码

    这是一款真正的JavaScript伸展收缩型菜单,鼠标放上看一看,是不是很酷?鼠标划出菜单项的时候,背景会伸长。菜单没有加链接,想用的自己加,再美化一下,绝对够个性吧。
    2015-11-11
  • JavaScript 七大技巧(一)

    JavaScript 七大技巧(一)

    JavaScript是一门非常流行的编程语言,许多开发者都会把JavaScript选为入门语言,本文给大家分享javascript七大技巧(一),对javascript技巧相关知识感兴趣的朋友一起学习吧
    2015-12-12
  • document.documentElement的一些使用技巧

    document.documentElement的一些使用技巧

    documentElement 属性可返回文档的根节点,接下来为大家详细介绍下document.documentElement的一些使用技巧,感兴趣的朋友可以参考下哈
    2013-04-04
  • layui使用label标签的方法

    layui使用label标签的方法

    今天小编就为大家分享一篇layui使用label标签的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • JS对象去重的多种方式小结

    JS对象去重的多种方式小结

    在 JavaScript 中,对象的去重通常是指在一个对象数组中,根据某些属性值去掉重复的对象,本文给大家总结了一些JS对象去重的多种方式,并通过代码示例讲解的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2024-09-09
  • JavaScript仿微信(电话)联系人列表滑动字母索引实例讲解(推荐)

    JavaScript仿微信(电话)联系人列表滑动字母索引实例讲解(推荐)

    这篇文章主要介绍了仿微信(电话)联系人列表滑动字母索引实例,通过for循环进行判断,具体操作步骤大家可查看下文的详细讲解,感兴趣的小伙伴们可以参考一下。
    2017-08-08
  • js实现的后台左侧管理菜单代码

    js实现的后台左侧管理菜单代码

    这篇文章主要介绍了js实现的后台左侧管理菜单代码,可实现美观大气的左侧折叠菜单效果,涉及JavaScript基于鼠标事件动态操作页面元素样式变换的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-09-09
  • 使用OPENLAYERS3实现点选的方法

    使用OPENLAYERS3实现点选的方法

    这篇文章主要为大家详细介绍了使用OPENLAYERS3实现点选的几种方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07

最新评论