基于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 相关文章推荐
jquery实现div拖拽宽度示例代码
Jul 31 Javascript
HTML5之WebSocket入门3 -通信模型socket.io
Aug 21 Javascript
基于MVC4+EasyUI的Web开发框架形成之旅之界面控件的使用
Dec 16 Javascript
在Javascript操作JSON对象,增加 删除 修改的简单实现
Jun 02 Javascript
addEventListener()与removeEventListener()解析
Apr 20 Javascript
基于jQuery选择器之表单对象属性筛选选择器的实例
Sep 19 jQuery
vue使用axios时关于this的指向问题详解
Dec 22 Javascript
基于node+vue实现简单的WebSocket聊天功能
Feb 01 Javascript
JS实现网站楼层导航效果代码实例
Jun 16 Javascript
Vue管理系统前端之组件拆分封装详解
Aug 23 Javascript
Vue过滤器,生命周期函数和vue-resource简单介绍
Jan 12 Vue.js
js面向对象编程OOP及函数式编程FP区别
Jul 07 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 中的面向对象编程:通向大型 PHP 工程的办法
2006/12/03 PHP
PHP实现简单爬虫的方法
2015/07/29 PHP
php简单实现数组分页的方法
2016/04/30 PHP
php读取qqwry.dat ip地址定位文件的类实例代码
2016/11/15 PHP
PHP编程实现脚本异步执行的方法
2017/08/09 PHP
关于php支持的协议与封装协议总结(推荐)
2017/11/17 PHP
ThinkPHP框架实现FTP图片上传功能示例
2019/04/08 PHP
不错的一个日期输入 动态
2006/11/06 Javascript
dropdownlist之间的互相联动实现(显示与隐藏)
2009/11/24 Javascript
自定义右键属性覆盖浏览器默认右键行为实现代码
2013/02/02 Javascript
防止浏览器记住用户名及密码的简单实用方法
2013/04/22 Javascript
js文本框输入点回车触发确定兼容IE、FF等
2013/11/19 Javascript
自写的jQuery异步加载数据添加事件
2014/05/15 Javascript
JavaScript、C# URL编码、解码总结
2017/01/21 Javascript
微信小程序 支付功能开发错误总结
2017/02/21 Javascript
纯js实现画一棵树的示例
2017/09/05 Javascript
利用JQUERY实现多个AJAX请求等待的实例
2017/12/14 jQuery
Vue运用transition实现过渡动画
2019/05/06 Javascript
VUE实现图片验证码功能
2020/11/18 Javascript
JavaScript动态生成表格的示例
2020/11/02 Javascript
python 多线程实现检测服务器在线情况
2015/11/25 Python
浅谈Python 列表字典赋值的陷阱
2019/01/20 Python
基于pytorch padding=SAME的解决方式
2020/02/18 Python
树莓派升级python的具体步骤
2020/07/05 Python
5款实用的python 工具推荐
2020/10/13 Python
用pip给python安装matplotlib库的详细教程
2021/02/24 Python
CSS3之背景尺寸Background-size使用介绍
2013/10/14 HTML / CSS
使用HTML5的表单验证的简单示例
2015/09/09 HTML / CSS
美国知名生活购物网站:Goop
2017/11/03 全球购物
LN-CC日本:高端男装和女装的奢侈时尚目的地
2019/09/01 全球购物
在weblogic中发布ejb需涉及到哪些配置文件
2012/01/17 面试题
结婚当天新郎保证书
2015/05/08 职场文书
同意离婚答辩状
2015/05/22 职场文书
党员廉政准则心得体会
2016/01/20 职场文书
2016年师德先进个人事迹材料
2016/02/29 职场文书
Mac M1安装mnmp (Mac+Nginx+MySQL+PHP) 开发环境
2021/03/29 PHP