js--实现随机验证码

在这里插入图片描述
随机验证码生成

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        .str-block {
            width: 200px;
            height: 50px;
            line-height: 50px;
            border: 1px solid black;
            display: inline-block;
            background-image: url("./img/bg.png");
            background-size: 100% 100%;
            background-repeat: no-repeat;
            text-align: center;
            overflow: hidden;
        }

        .str-block > span {
            display: inline-block;
        }

        .look {
            display: inline-block;
            color: blue;
            font-size: 13px;
            cursor: pointer;
        }
    </style>
</head>
<body>
<div>
    <div class="str-block">

    </div>
    <span class="look">看不清楚...</span>
</div>
<input type="text" id="txt"/>
<button id="btn">验证</button>
<script>
    /*
     * 总共6位
     * 随机生成数字0-9
     * */
    var str = "";
    function showchar() {
        str = "";
        var ele = "";
        for (var i = 0; i < 6; i++) {
            var gai = Math.random();
            if (gai <= 0.25) {
                ele += randomnumber();
            }
            else if (gai > 0.25 && gai <= 0.5) {
                ele += randomsmallchar();
            }
            else if (gai > 0.5 && gai <= 0.75) {
                ele += randombigchar();
            }
            else {
                ele += randomhan();
            }
        }
        return ele;
    }
    //生成随机颜色
    function randomColor() {
        var c = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'a', 'b', 'c', 'd', 'e', 'f'];
        var s = "";
        for (var i = 0; i < 6; i++) {
            s += c[Math.floor(Math.random() * c.length)];
        }
        return "#" + s;
    }
    function randomnumber() {
        var s = Math.floor(Math.random() * 10);
        str += s;
        //生成大小
        var font = Math.floor(Math.random() * 25 + 15);
        var color = randomColor();
        var marleft = Math.floor(Math.random() * 3 + 5);
        var angle = Math.cos(Math.random() * 180 * Math.PI / 180) > 0 ? (Math.random() * 20 + 25) : -(Math.random() * 20 + 25);
        return "<span style='transform:rotatez(" + angle + "deg);margin:0 " + marleft + "px;font-size: " + font + "px; color:" + color + ";'>" + s + "</span>";
    }
    function randomsmallchar() {
        var s = Math.floor(Math.random() * 26 + 97);
        str += String.fromCharCode(s);
        var font = Math.floor(Math.random() * 25 + 15);
        var color = randomColor();
        var marleft = Math.floor(Math.random() * 3 + 5);
        var angle = Math.cos(Math.random() * 180 * Math.PI / 180) > 0 ? (Math.random() * 20 + 25) : -(Math.random() * 20 + 25);
        return "<span style='transform:rotatez(" + angle + "deg);margin:0 " + marleft + "px;font-size: " + font + "px; color:" + color + ";'>" + String.fromCharCode(s) + "</span>";

    }
    function randombigchar() {
        var s = Math.floor(Math.random() * 26 + 97);
        str += String.fromCharCode(s).toUpperCase();
        var font = Math.floor(Math.random() * 25 + 15);
        var color = randomColor();
        var marleft = Math.floor(Math.random() * 3 + 5);
        var angle = Math.cos(Math.random() * 180 * Math.PI / 180) > 0 ? (Math.random() * 20 + 25) : -(Math.random() * 20 + 25);
        return "<span style='transform:rotatez(" + angle + "deg);margin:0 " + marleft + "px;font-size: " + font + "px; color:" + color + ";'>" + String.fromCharCode(s).toUpperCase() + "</span>";

    }
    function randomhan() {
        var string = "中国语言文字网将由教育部语言文字应用研究所主办和运行管理,新网站访问入口更改";
        var s = string.charAt(Math.floor(Math.random() * string.length));
        str += s;
        var font = Math.floor(Math.random() * 20 + 15);
        var color = randomColor();
        var angle = Math.cos(Math.random() * 180 * Math.PI / 180) > 0 ? (Math.random() * 20 + 25) : -(Math.random() * 20 + 25);
        return "<span style='transform:rotatez(" + angle + "deg);font-size: " + font + "px; color:" + color + ";'>" + s + "</span>";

    }
    window.onload = function () {

        var sblock = document.getElementsByClassName("str-block")[0];
        var look = document.getElementsByClassName("look")[0];
        var btn = document.getElementById("btn");
        var txt = document.getElementById("txt");

        sblock.innerHTML = showchar();
        look.onclick = function () {
            sblock.innerHTML = showchar();
        }
        btn.onclick = function () {
            var user = txt.value;
            if (user.toLowerCase() == str.toLowerCase()) {
                alert("验证成功!")
            }
            else {
                alert("验证失败!");
                sblock.innerHTML = showchar();
                txt.value = "";
            }
        }
    }
</script>
</body>
</html>

简单的数据分页
在这里插入图片描述


<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        .b1 > ul {
            display: inline-block;
        }

        .b1 > ul > li {
            list-style: none;
            display: inline-block;
            width: 30px;
            height: 30px;
            text-align: center;
            line-height: 30px;
            border: 1px solid silver;
        }

        .b1 > button {
            width: 100px;
            height: 30px;
            border: 1px solid silver;
            background: transparent;
            outline: none;
        }

        .bgcolor {
            background: #32bcff;
            color: #fff;
        }
    </style>
</head>
<body>
<div class="b1">
    <button id="uppage">上一页</button>
    <ul class="menu">
        <li class="bgcolor">1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
        <li>6</li>
        <li>7</li>
        <li>8</li>
        <li>9</li>
        <li>10</li>
    </ul>
    <button id="downpage">下一页</button>
</div>
<script>
    var uppage = document.getElementById("uppage");
    var downpage = document.getElementById("downpage");
    var menu = document.getElementsByClassName("menu")[0].children;
    downpage.onclick = function () {
        for (var i = 0; i < menu.length; i++) {
            menu[i].innerHTML = parseInt(menu[i].innerHTML) + 10;
        }
    }
    uppage.onclick = function () {
        if (parseInt(menu[0].innerHTML) <= 1) {
            return;
        }
        for (var i = 0; i < menu.length; i++) {
            menu[i].innerHTML = parseInt(menu[i].innerHTML) - 10;
        }
    }
    for (var i = 0; i < menu.length; i++) {
        menu[i].onclick = function () {
            for (var k = 0; k < menu.length; k++) {
                menu[k].className = "";
            }
            this.className = "bgcolor";
        }
    }
</script>
</body>
</html>

在这里插入图片描述
简单的三级联动

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
       select{
           border: 1px solid #000000;
           width: 100px;
           outline: none;
           height: 30px;
       }
        option{
            color: #000000;
        }
    </style>
</head>
<body>
省:<select id="s1">
    <option>—请选择—</option>
</select>
市:<select id="s2">
    <option>—请选择—</option>
</select>
区:<select id="s3">
    <option>—请选择—</option>
</select>
<script>
    /*
     * json  数据模拟后台数据
     * */
    var city = [
        {
            "id": 10001,
            "name": "陕西省",
            "child": [
                {
                    "id": 100011,
                    "name": "西安市",
                    "child": [
                        {
                            "id": 100011,
                            "name": "高新区"
                        },
                        {
                            "id": 100011,
                            "name": "未央区"
                        },{
                            "id": 100011,
                            "name": "莲湖区"
                        },
                        {
                            "id": 100011,
                            "name": "碑林区"
                        }
                    ]
                },
                {
                    "id": 100012,
                    "name": "宝鸡市",
                    "child": [
                        {
                            "id": 100011,
                            "name": "高新区"
                        },
                        {
                            "id": 100011,
                            "name": "成仓区"
                        }
                    ]
                }
            ]
        },
        {
            "id": 10002,
            "name": "云南省",
            "child": [
                {
                    "id": 100021,
                    "name": "大理市",
                    "child": [
                        {
                            "id": 100021,
                            "name": "大理市区1"
                        },
                        {
                            "id": 100021,
                            "name": "大理市区2"
                        }
                    ]
                },
                {
                    "id": 100022,
                    "name": "丽江市",
                    "child": [
                        {
                            "id": 100021,
                            "name": "丽江市区1"
                        },
                        {
                            "id": 100021,
                            "name": "丽江市区2"
                        }
                    ]
                },{
                    "id": 100022,
                    "name": "西双版纳市",
                    "child": [
                        {
                            "id": 100021,
                            "name": "西双版纳市区1"
                        },
                        {
                            "id": 100021,
                            "name": "西双版纳市区2"
                        }
                    ]
                },{
                    "id": 100023,
                    "name": "昆明市",
                    "child": [
                        {
                            "id": 100021,
                            "name": "昆明市区1"
                        },
                        {
                            "id": 100021,
                            "name": "昆明市区2"
                        }
                    ]
                }
            ]
        }
    ]
    var s1 = document.getElementById("s1");
    var s2 = document.getElementById("s2");
    var s3= document.getElementById("s3");
    for (var i = 0; i < city.length; i++) {
        var opt = new Option(city[i].name,i);
        s1.appendChild(opt);
    }
    //添加事件
    var cityname=null;
    s1.onchange=function (){
        //s2做个清除
        s2.options.length=1;
        //s3做个清除
        s3.options.length=1;
        var index=this.value;
        cityname=city[index].child;
        for(var i=0;i<cityname.length;i++)
        {
            var opt=new Option(cityname[i].name,i);
            s2.appendChild(opt);
        }
    }
    s2.onchange=function (){
        //s3做个清除
        s3.options.length=1;
        var index=this.value;
        var qu=cityname[index].child;
        for(var i=0;i<qu.length;i++)
        {
            var opt=new Option(qu[i].name,i);
            s3.appendChild(opt);
        }
    }
</script>
</body>
</html>
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值