基于JavaScript实现表单密码的隐藏和显示出来


Posted in Javascript onMarch 02, 2016

为了网站的安全性,很多朋友都把密码设的比较复杂,但是如何密码不能明显示,不知道输的是对是错,为了安全起见可以把密码显示的,那么基于js代码如何实现的呢? 当用户输入时密码显示为圆点或者星号, 为了确保用户输入的正确, 用户可以点击让密码显示的按钮. 直接就先看节目效果.

基于JavaScript实现表单密码的隐藏和显示出来 

界面结构, 一个外层的pass-box, 然后内层加入input 和 一个 i 标签, 且给他们加入相应的class名称.

<div class="pass-box">
<input type="password" name="pass" />
<i state="off"></i>
</div>

现在我们给相应的class加入相应的属性值. 在这个box里, i 需要在input之上, 所以需要给 i 一个position属性, 然后调整其top和right. 然后给其设置宽度和高度,设置其背景图片.

.pass-box {
width: 300px;
margin: 30px auto;
position: relative;
}
.pass-box input {
border: #cccccc 1px solid;
background-color: #fff;
color: #666;
padding: 10px;
width: 100%;
box-sizing: border-box;
}
.pass-box i{
display: inline-block;
width: 30px;
height: 30px;
position: absolute;
right: 5px;
top:5px;
background-image: none;
background-size: 200% 200%;
background-position: center;
}

这样界面效果完成. 然后给 i 加入点击事件. 在HTML结构中, 我们给了 i 一个状态, 这个作用主要是用于用户两次点击效果的判断. 点击第一次, 密码显示; 点击第二次, 密码隐藏. 重复这样的动作. 所以利用这个state来查看其状态.

重点就在于, 修改input的type属性, 显示的时候type为 text, 隐藏的时候是 password. 所以JS的逻辑处理也是比较清晰.

var ele_pass_box = document.getElementsByTagName("div")[0];
var ele_pass = ele_pass_box.getElementsByTagName("input")[0];
var ele_eye = ele_pass_box.getElementsByTagName("i")[0];
ele_eye.onclick = function () {
var state = this.getAttribute("state");
if(state === "off") {
ele_pass.setAttribute("type", "text");
ele_eye.setAttribute("state", "on");
ele_eye.style.opacity = 0.2;
} else {
ele_pass.setAttribute("type", "password");
ele_eye.setAttribute("state", "off");
ele_eye.style.opacity = 1;
}
}

这就是逻辑代码, 代码量不多. 大家在测试的时候, 注意细节就好.

以上是小编给大家分享的基于JavaScript实现表单密码的隐藏和显示出来的全部内容,希望对大家有所帮助!

Javascript 相关文章推荐
js获取TreeView控件选中节点的Text和Value值的方法
Nov 24 Javascript
6款经典实用的jQuery小插件及源码(对话框/提示工具等等)
Feb 04 Javascript
如何使用HTML5地理位置定位功能
Apr 27 Javascript
JavaScript使用addEventListener添加事件监听用法实例
Jun 01 Javascript
jquery滚动条插件slimScroll使用方法
Feb 09 Javascript
解决vue打包之后静态资源图片失效的问题
Feb 21 Javascript
通过js示例讲解时间复杂度与空间复杂度
Aug 06 Javascript
createObjectURL方法实现本地图片预览
Sep 30 Javascript
vue渲染方式render和template的区别
Jun 05 Javascript
React 条件渲染最佳实践小结(7种)
Sep 27 Javascript
js实现纯前端压缩图片
Nov 16 Javascript
JS轻量级函数式编程实现XDM三
Jun 16 Javascript
jQuery判断浏览器并动态调整select宽度的方法
Mar 02 #Javascript
js实现不重复导入的方法
Mar 02 #Javascript
基于JavaScript实现智能右键菜单
Mar 02 #Javascript
JS简单实现String转Date的方法
Mar 02 #Javascript
基于Jquery和html5实现炫酷的3D焦点图动画
Mar 02 #Javascript
JS判断是否长按某一键的方法
Mar 02 #Javascript
JS实现为排序好的字符串找出重复行的方法
Mar 02 #Javascript
You might like
PHP动态变静态原理
2006/11/25 PHP
使用php验证复选框有效性的示例
2013/11/13 PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
2017/07/13 PHP
对textarea框的代码调试,而且功能上使用非常方便,酷
2006/06/30 Javascript
JS判断移动端访问设备并加载对应CSS样式
2014/06/13 Javascript
一个JavaScript递归实现反转数组字符串的实例
2014/10/14 Javascript
JavaScript原生对象之Date对象的属性和方法详解
2015/03/13 Javascript
浅谈Javascript实现继承的方法
2015/07/06 Javascript
JS实现用户注册时获取短信验证码和倒计时功能
2016/10/27 Javascript
微信小程序访问node.js接口服务器搭建教程
2017/04/25 Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
2017/06/04 Javascript
AngularJS实现的获取焦点及失去焦点时的表单验证功能示例
2017/10/25 Javascript
AngularJS实现的2048小游戏功能【附源码下载】
2018/01/03 Javascript
vue生命周期与钩子函数简单示例
2019/03/13 Javascript
mongodb初始化并使用node.js实现mongodb操作封装方法
2019/04/02 Javascript
如何实现iframe父子传参通信
2020/02/05 Javascript
JS创建自定义对象的六种方法总结
2020/12/15 Javascript
Windows系统下多版本pip的共存问题详解
2017/10/10 Python
PyQt5实现拖放功能
2018/04/25 Python
程序员写Python时的5个坏习惯,你有几条?
2018/11/26 Python
通过pycharm使用git的步骤(图文详解)
2019/06/13 Python
Python使用百度api做人脸对比的方法
2019/08/28 Python
使用Python为中秋节绘制一块美味的月饼
2019/09/11 Python
python实现控制台输出彩色字体
2020/04/05 Python
Html5监听手机摇一摇事件的实现
2019/11/07 HTML / CSS
极简鞋类,赤脚的感觉:Lems Shoes
2019/08/06 全球购物
初级软件工程师面试题 Junior Software Engineer Interview
2015/02/15 面试题
软件测试常见笔试题
2012/02/04 面试题
研究生自荐信
2013/10/09 职场文书
面包店的创业计划书范文
2014/01/16 职场文书
毕业留言寄语大全
2014/04/10 职场文书
《鲁班和橹板》教学反思
2014/04/27 职场文书
党员自我剖析材料范文
2014/10/06 职场文书
对党的十八届四中全会的期盼
2014/10/17 职场文书
全面盘点MySQL中的那些重要日志文件
2021/11/27 MySQL
德生2P3收音机开箱评测
2022/04/30 无线电