一个自定义的手机号码、密码验证登录

该代码示例展示了如何使用HTML创建一个登录界面,并用JavaScript进行手机号、密码和验证码的输入验证。当用户点击登录按钮时,程序会检查手机号格式、密码规则以及验证码是否匹配,只有全部符合要求才会提示登录成功。
摘要由CSDN通过智能技术生成

html部分

<div class="big" style="margin: 0 auto;width: 400px;">
        <table>
            <tr>
                <td colspan="3" style="text-align: center; font-weight: bolder;font-size: large;">账户登陆
                </td>
            </tr>
            <tr>
                <td>
                    手机号:
                </td>
                <td>
                    <input type="text" class="shouji" style="width: 200px;outline: none;">
                </td>
            </tr>
            <tr>
                <td colspan="2">
                    <div class="shoujihao" style="height: 30px;font-size:12px;color: red;"> </div>
                </td>
            </tr>
            <tr>
                <td>
                    密&nbsp;&nbsp;码:
                </td>
                <td style="width: 300px;">
                    <input type="password" class="mima" style="width: 200px;outline: none;">
                </td>
            </tr>
            <tr>
                <td colspan="2">
                    <div class="mimayan" style="width: 300px;height: 30px;font-size:12px;color: red;">
                    </div>
                </td>
            </tr>
            <tr>
                <td>
                    验证码:
                </td>
                <td>
                    <input type="text" class="yanzhengma" style="width: 80px;outline: none;">
                    <div class="box" style="width: 20px;height: 30px;display: inline;">
                    </div><button class="huanyige">
                        换一个
                    </button>
                </td>
            </tr>
            <tr>
                <td colspan="2">
                    <div class="yanzhengmats" style="height: 30px;font-size:12px;color: red;">
                    </div>
                </td>
            </tr>
            <tr>
                <td colspan="2" style="text-align: center; font-weight: bolder;font-size: large;">
                    <button class="enter">
                        登陆
                    </button>
                    
                </td>
            </tr>
        </table>
    </div>

js部分

 // 获取节点
        var shouji = document.querySelector('.shouji')
        var mima = document.querySelector('.mima')
        var yzm = document.querySelector('.box')
        var enter = document.querySelector('.enter')
        var huanyige = document.querySelector('.huanyige')
        var yanzhengma = document.querySelector('.yanzhengma')
        var shoujihao = document.querySelector('.shoujihao')
        var mimayan = document.querySelector('.mimayan')
        var yanzhengmats = document.querySelector('.yanzhengmats')
        function yanzhengmax(n) {
            var code = [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', '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'];
            var new1 = [];
            var shenglue = [0, 1, 'i', 'I', 'l', 'o', 'O'];
            for (var i = 0; i < n; i++) {//生成一个随机下标
                var rt = Math.floor(Math.random() * code.length);//通过随机下标获取元素
                var ele = code[rt];
                if (shenglue.indexOf(ele) === -1) {
                    new1.push(ele);
                } else {
                    i--;
                    //重新生成
                }
            }
            var new2 = new1.join('')
            return new2;
        }
        yzm.innerHTML = yanzhengmax(4);
        enter.onclick = function () {
            var shoujihaoma = /^1[3-9]\d{9}$/
            var mimayanzheng = /^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[0-9A-Za-z.?!@#]{6,16}$/
            if (!shoujihaoma.test(shouji.value)) {
                shoujihao.innerHTML = '手机号输入不正确'
            }
            else {
                shoujihao.innerHTML = ''
            }
            if (!mimayanzheng.test(mima.value)) {
                mimayan.innerHTML = '密码必须含有大小写字母,数字,可由数字字?!@#组成(6-16位)'
            }
            else {
                mimayan.innerHTML = ''
            }
            if (yanzhengma.value !== yzm.innerHTML) {
                yanzhengmats.innerHTML = '验证码输入不正确'
            }
            else {
                alert("登陆成功")
            }
            
        }
        
        // 重新生成随机数
        huanyige.onclick = function () {
            yzm.innerHTML = yanzhengmax(4);
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值