JS--input密码框数字显示与隐藏

前言

这个是js里的一个简单应用,我们只需要搞清楚input标签的属性,详情见下图:
12
与我们这次有关联的是password(这个是隐藏的)和text(这个是显示)

<form action="#">
        <input type="password" placeholder="请输入您的密码">
        <img src="../img/close-eye.png" alt
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,我理解您的问题是希望我提供一个使用RegExp对象、Element对象和Attribute对象的相关知识来实现密码显示隐藏及登录验证的示例代码,是这样吗? 那我就为您提供一个示例代码,代码如下: HTML部分: ``` <form id="login-form"> <div> <label for="username">用户名:</label> <input type="text" id="username" name="username" required> </div> <div> <label for="password">密码:</label> <input type="password" id="password" name="password" required> <i class="show-password" onclick="togglePasswordVisibility(this)"></i> </div> <button type="submit">登录</button> </form> ``` 在上面的代码中,我们使用了一个i元素作为切换密码可见性的按钮,并绑定了togglePasswordVisibility方法。 JavaScript部分: ``` // 切换密码可见性 function togglePasswordVisibility(icon) { var passwordInput = document.getElementById("password"); if (passwordInput.type === "password") { passwordInput.type = "text"; icon.classList.remove("fa-eye"); icon.classList.add("fa-eye-slash"); } else { passwordInput.type = "password"; icon.classList.remove("fa-eye-slash"); icon.classList.add("fa-eye"); } } // 登录验证 document.getElementById("login-form").addEventListener("submit", function(event) { event.preventDefault(); // 阻止表单默认提交 var username = this.username.value; var password = this.password.value; var passwordPattern = /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/; // 密码正则表达式 if (!passwordPattern.test(password)) { alert("密码必须包含至少一个字母和一个数字,且长度不少于8位!"); return; } // 在这里进行登录验证的逻辑 }); ``` 在上面的代码中,我们首先定义了一个togglePasswordVisibility方法,用于切换密码的可见性。当用户点击密码右侧的按钮时,我们通过修改密码的type属性来实现密码的切换。同时,我们还使用了classList对象来切换按钮上的图标。 接下来,我们使用addEventListener方法为表单绑定了一个submit事件的监听器。在事件处理函数中,我们首先使用this关键字获取了表单元素,然后获取了用户名和密码的值。接着,我们定义了一个正则表达式,用于匹配密码的格式。如果密码不符合格式要求,我们就弹出一个提示并返回,防止表单继续提交。最后,我们可以在登录验证的逻辑中进行后续处理。 希望这个示例代码可以帮助到您!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值