基于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 相关文章推荐
用jscript实现新建和保存一个word文档
Jun 15 Javascript
JavaScript OOP面向对象介绍
Dec 02 Javascript
jquery中获取select选中值的代码
Jun 27 Javascript
分享精心挑选的23款美轮美奂的jQuery 图片特效插件
Aug 14 Javascript
jquery连缀语法如何实现
Nov 29 Javascript
JQuery文本改变触发事件如聚焦事件、失焦事件
Jan 15 Javascript
js字符串引用的两种方式(必看)
Sep 18 Javascript
jQuery图片拖动组件Dropzone用法示例
Jan 17 Javascript
bootstrap table动态加载数据示例代码
Mar 25 Javascript
React-Native左右联动List的示例代码
Sep 21 Javascript
Vue 封装防刷新考试倒计时组件的实现
Jun 05 Javascript
如何解决jQuery 和其他JS库的冲突
Jun 22 jQuery
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
mysq GBKl乱码
2006/11/28 PHP
PHP file_get_contents设置超时处理方法
2013/09/30 PHP
thinkPHP5.0框架应用请求生命周期分析
2017/03/25 PHP
php创建多级目录与级联删除文件的方法示例
2019/09/12 PHP
Aster vs KG BO3 第二场2.18
2021/03/10 DOTA
js跨域和ajax 跨域问题的实现思路
2009/09/05 Javascript
cnblogs中在闪存中屏蔽某人的实现代码
2010/11/14 Javascript
js indexOf()定义和用法
2012/10/21 Javascript
js实现网页倒计时、网站已运行时间功能的代码3例
2014/04/14 Javascript
利用Javascript仿Excel的数据透视分析功能
2016/09/07 Javascript
EasyUI创建人员树的实例代码
2017/09/15 Javascript
jQuery实现滚动到底部时自动加载更多的方法示例
2018/02/18 jQuery
vue2单元测试环境搭建
2018/05/24 Javascript
jquery拖拽自动排序插件使用方法详解
2020/07/20 jQuery
原生JS实现相邻月份日历
2020/10/13 Javascript
python使用os模块的os.walk遍历文件夹示例
2014/01/27 Python
python中getaddrinfo()基本用法实例分析
2015/06/28 Python
浅谈python对象数据的读写权限
2016/09/12 Python
python实现自动发送邮件发送多人、群发、多附件的示例
2018/01/23 Python
Python 把序列转换为元组的函数tuple方法
2019/06/27 Python
基于Django静态资源部署404的解决方法
2019/07/28 Python
python中os包的用法
2020/06/01 Python
沙特阿拉伯电子产品和家用电器购物网站:Black Box
2019/07/24 全球购物
俄罗斯设计师家具购物网站:The Furnish
2019/12/01 全球购物
日期和时间问题
2015/01/04 面试题
销售人员个人求职信
2013/09/26 职场文书
初中女生自我鉴定
2013/12/19 职场文书
大学生入党积极分子党校学习思想汇报
2014/10/25 职场文书
环境建议书
2015/02/04 职场文书
2015年世界无车日活动总结
2015/03/23 职场文书
2015年端午节活动策划书
2015/05/05 职场文书
《夹竹桃》教学反思
2016/02/23 职场文书
研究生学习计划书应该怎么写?
2019/09/10 职场文书
python爬取企查查企业信息之selenium自动模拟登录企查查
2021/04/08 Python
Mysql数据库中datetime、bigint、timestamp来表示时间选择,谁来存储时间效率最高
2021/08/23 MySQL
2022新作动画《福星小子》释出宣传影片 加入内田真礼&宫野真守配音演出
2022/04/08 日漫