基于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 统计时间
Mar 09 Javascript
event.keyCode键码值表 附只能输入特定的字符串代码
May 15 Javascript
JAVASCRIPT style 中visibility和display之间的区别
Jan 22 Javascript
jQuery-serialize()输出序列化form表单值的方法
Dec 26 Javascript
js判断iframe内的网页是否滚动到底部触发事件
Mar 18 Javascript
js实现本地图片文件拖拽效果
Jul 18 Javascript
Vue仿今日头条实例详解
Feb 06 Javascript
vue.js根据代码运行环境选择baseurl的方法
Feb 28 Javascript
JavaScript基于对象方法实现数组去重及排序操作示例
Jul 10 Javascript
vue-cli初始化项目中使用less的方法
Aug 09 Javascript
使用Three.js实现太阳系八大行星的自转公转示例代码
Apr 09 Javascript
详解Vue demo实现商品列表的展示
May 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修改session_id示例代码
2014/01/08 PHP
PHP中SESSION的注销与清除
2015/04/16 PHP
阿里云PHP SMS短信服务验证码发送方法
2017/07/11 PHP
TP5框架简单登录功能实现方法示例
2019/10/31 PHP
JavaScript中的noscript元素属性位置及作用介绍
2013/04/11 Javascript
jquery实现鼠标滑过小图时显示大图的方法
2015/01/14 Javascript
PHP实现的各种中文编码转换类分享
2015/01/23 Javascript
JavaScript编写点击查看大图的页面半透明遮罩层效果实例
2016/05/09 Javascript
Java框架SSH结合Easyui控件实现省市县三级联动示例解析
2016/06/12 Javascript
Javascript 制作图形验证码实例详解
2016/12/22 Javascript
微信小程序 欢迎页面的制作(源码下载)
2017/01/09 Javascript
jQuery分页插件jquery.pagination.js使用方法解析
2017/02/09 Javascript
Angular.JS利用ng-disabled属性和ng-model实现禁用button效果
2017/04/05 Javascript
详解VUE2.X过滤器的使用方法
2018/01/11 Javascript
详解vue组件基础
2018/05/04 Javascript
详解Webpack如何引入CDN链接来优化编译后的体积
2019/06/21 Javascript
vue 源码解析之虚拟Dom-render
2019/08/26 Javascript
vue实现表单录入小案例
2019/09/27 Javascript
对vuex中getters计算过滤操作详解
2019/11/06 Javascript
Vue.extend 编程式插入组件的实现
2019/11/18 Javascript
Vue项目开发常见问题和解决方案总结
2020/09/11 Javascript
基于react项目打包css引用路径错误解决方案
2020/10/28 Javascript
全面解读Python Web开发框架Django
2014/06/30 Python
利用Python中的mock库对Python代码进行模拟测试
2015/04/16 Python
Python的Django框架中消息通知的计数器实现教程
2016/06/13 Python
Python操作RabbitMQ服务器实现消息队列的路由功能
2016/06/29 Python
python脚本生成caffe train_list.txt的方法
2018/04/27 Python
Python实现购物评论文本情感分析操作【基于中文文本挖掘库snownlp】
2018/08/07 Python
python查找重复图片并删除(图片去重)
2019/07/16 Python
python3代码中实现加法重载的实例
2020/12/03 Python
在IE6系列等老式浏览器中使用HTML5的新标签实现方案
2012/12/25 HTML / CSS
教师年度考核自我鉴定
2014/01/19 职场文书
党员一句话承诺大全
2014/03/28 职场文书
低碳环保标语
2014/06/12 职场文书
2016公务员年度考核评语
2015/12/01 职场文书
入党心得体会
2019/06/20 职场文书