基于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 相关文章推荐
使两个iframe的高度与内容自适应,且相等
Nov 20 Javascript
JavaScript将取代AppleScript?
Sep 18 Javascript
Javascript基础教程之while语句
Jan 18 Javascript
JavaScript实现计算字符串中出现次数最多的字符和出现的次数
Mar 12 Javascript
关于Angular2 + node接口调试的解决方案
May 28 Javascript
JSON对象转化为字符串详解
Aug 11 Javascript
如何从零开始利用js手写一个Promise库详解
Apr 19 Javascript
Vue中使用clipboard实现复制功能
Sep 05 Javascript
ES6基础之展开语法(Spread syntax)
Feb 21 Javascript
解决Vue使用bus总线时,第一次路由跳转时数据没成功传递问题
Jul 28 Javascript
Nuxt的动态路由和参数校验操作
Nov 09 Javascript
vant 解决tab切换插件标题样式自定义的问题
Nov 13 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版(2)
2006/10/09 PHP
PHP4在Windows2000下的安装
2006/10/09 PHP
php 无法加载mysql的module的时候的配置的解决方案引发的思考
2012/01/27 PHP
PHP语言中global和$GLOBALS[]的分析 之二
2012/02/02 PHP
php中使用preg_replace函数匹配图片并加上链接的方法
2013/02/06 PHP
php中require和require_once的区别说明
2014/02/27 PHP
PHP实现设计模式中的抽象工厂模式详解
2014/10/11 PHP
PHP脚本监控Nginx 502错误并自动重启php-fpm
2015/05/13 PHP
PHP实现将多个文件中的内容合并为新文件的方法示例
2017/06/10 PHP
php实现统计二进制中1的个数算法示例
2018/01/23 PHP
Yii 使用intervention/image拓展实现图像处理功能
2019/06/22 PHP
js 判断脚本加载完毕的代码
2011/07/13 Javascript
利用JavaScript实现新闻滚动效果(实例代码)
2013/11/27 Javascript
js 高效去除数组重复元素示例代码
2013/12/19 Javascript
jquery滚动加载数据的方法
2015/03/09 Javascript
jquery实现多条件筛选特效代码分享
2015/08/28 Javascript
基于RequireJS和JQuery的模块化编程日常问题解析
2016/04/14 Javascript
js实现百度搜索提示框
2017/02/05 Javascript
vue2 自定义动态组件所遇到的问题
2017/06/08 Javascript
Django与Vue语法的冲突问题完美解决方法
2017/12/14 Javascript
微信小程序定位当前城市的方法
2018/07/19 Javascript
自定义Vue组件打包、发布到npm及使用教程
2019/05/22 Javascript
使用Node.js在深度学习中做图片预处理的方法
2019/09/18 Javascript
javascript实现雪花飘落效果
2020/08/19 Javascript
浅谈Python类的__getitem__和__setitem__特殊方法
2016/12/25 Python
Python实现读取及写入csv文件的方法示例
2018/01/12 Python
python获取时间及时间格式转换问题实例代码详解
2018/12/06 Python
详解python深浅拷贝区别
2019/06/24 Python
Django用户认证系统 Web请求中的认证解析
2019/08/02 Python
解决keras使用cov1D函数的输入问题
2020/06/29 Python
linux面试题参考答案(3)
2012/09/13 面试题
市场营销专业自荐书
2014/06/10 职场文书
学校班班通实施方案
2014/06/11 职场文书
建筑安全员岗位职责
2015/02/15 职场文书
门店店长岗位职责
2015/04/14 职场文书
Python学习之os包使用教程详解
2022/03/21 Python