JS实现六位字符密码输入器功能


Posted in Javascript onAugust 19, 2016

老规矩~ 上DEMO,过过瘾先:六位字符密码输入器

再上源码:六位字符密码输入器

从DEMO中我看可以看出,首先只能输入六个字符,并且仅允许输入数字,在输入六位数字完成之后会自动执行一个回调(DEMO中是将输入结果显示出来了)

一. 先说原理

首先呢,我们需要两个东东:其一是一个真是的输入框,即:真正处于焦点状态并获取用户输入的input;其二是一组伪输入框,即:并没有真正获取焦点,但只是显示了当前输入的值(当然啦,密码嘛,只有一个小黑点而已~)。

其次呢,我们需要简单不惧一下,让着一组(6个)伪造元素刚好重叠在真实输入框的下方。如下:

JS实现六位字符密码输入器功能 

边距实际是没有的啦~,途中只是为了看着更清晰一些。

另外,我们需要把顶层的真是输入框opcity设为0,这样其实呈现在用户面前的就是这一组伪造的输入框啦。

但是用户其实再输入的时候还是对真是输入框进行操作,在之后我们在讲用户的输入依次填写到伪造输入框里边就可以喽~

很简单吧~

二. 码代码

首先初始化各个DOM,以及绑定输入事件。

function init(fun){
var that = this;
this.callback = fun;
that.realInput = container.children[0];
that.bogusInput = container.children[1];
that.bogusInputArr = that.bogusInput.children;
that.maxLength = that.bogusInputArr[0].getAttribute("maxlength");
that.realInput.oninput = function(){
that.setValue();
}
that.realInput.onpropertychange = function(){
that.setValue();
}
}

然后在用户输入时分别将用户输入输入到伪造输入框中

function setValue(){
this.realInput.value = this.realInput.value.replace(/\D/g,"");
console.log(this.realInput.value.replace(/\D/g,""))
var real_str = this.realInput.value;
for(var i = 0 ; i < this.maxLength ; i++){
this.bogusInputArr[i].value = real_str[i]?real_str[i]:"";
}
if(real_str.length >= this.maxLength){
this.realInput.value = real_str.substring(0,6);
this.callback();
}
}

最后我们输入密码当然是要获取的啦~,来一个获取最终值的方法~

function getBoxInputValue(){
var realValue = "";
for(var i in this.bogusInputArr){
if(!this.bogusInputArr[i].value){
break;
}
realValue += this.bogusInputArr[i].value;
}
return realValue;
}

以上所述是小编给大家介绍的JS实现六位字符密码输入器功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
解析arp病毒背后利用的Javascript技术附解密方法
Aug 06 Javascript
IE与Firefox在JavaScript上的7个不同句法分享
Oct 30 Javascript
JS TextArea字符串长度限制代码集合
Oct 31 Javascript
JQuery中关于jquery.js与jquery.min.js的比较探讨
May 15 Javascript
JavaScript地图拖动功能SpryMap的简单实现
Jul 17 Javascript
js实现select组件的选择输入过滤代码
Oct 14 Javascript
基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号)
Dec 29 Javascript
判断JS对象是否拥有某属性的方法推荐
May 12 Javascript
javascript之with的使用(阿里云、淘宝使用代码分析)
Oct 11 Javascript
JS中的防抖与节流及作用详解
Apr 01 Javascript
Vue组件化开发之通用型弹出框的实现
Feb 28 Javascript
JS + HTML 罗盘式时钟的实现
May 21 Javascript
javascript简单实现跟随滚动条漂浮的返回顶部按钮效果
Aug 19 #Javascript
巧用jQuery选择器提高写表单效率的方法
Aug 19 #Javascript
JS获取中文拼音首字母并通过拼音首字母快速查找页面内对应中文内容的方法【附demo源码】
Aug 19 #Javascript
JavaScript使用键盘输入控制实现数字验证功能
Aug 19 #Javascript
jQuery Validate插件实现表单验证
Aug 19 #Javascript
jQuery如何封装输入框插件
Aug 19 #Javascript
JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL错误的解决方法
Aug 19 #Javascript
You might like
动易数据转成dedecms的php程序
2007/04/07 PHP
PHP 转义使用详解
2013/07/15 PHP
destoon供应信息title调用出公司名称的方法
2014/08/22 PHP
PHP中使用substr()截取字符串出现中文乱码问题该怎么办
2015/10/21 PHP
一个简单安全的PHP验证码类 附调用方法
2016/06/24 PHP
详谈PHP中的密码安全性Password Hashing
2017/02/04 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
解决windows上php xdebug 无法调试的问题
2020/02/19 PHP
javascript 随机展示头像实现代码
2011/12/06 Javascript
IE下JS读取xml文件示例代码
2013/08/05 Javascript
onkeyup,onkeydown和onkeypress的区别介绍
2013/10/21 Javascript
JS中typeof与instanceof之间的区别总结
2013/11/14 Javascript
java和javascript获取word文档的书签位置对比
2014/06/19 Javascript
yepnope.js使用详解及示例分享
2014/06/23 Javascript
JavaScript中switch判断容易犯错的一个细节
2014/08/27 Javascript
jQuery中:last-child选择器用法实例
2014/12/31 Javascript
javascript查询字符串参数的方法
2015/01/28 Javascript
微信小程序 在Chrome浏览器上运行以及WebStorm的使用
2016/09/27 Javascript
Bootstrap3 多个模态对话框无法显示的解决方案
2017/02/23 Javascript
不到200行 JavaScript 代码实现富文本编辑器的方法
2018/01/03 Javascript
教你如何用node连接redis的示例代码
2018/07/12 Javascript
JS根据Unix时间戳显示发布时间是多久前【项目实测】
2019/07/10 Javascript
基于JS实现数字动态变化显示效果附源码
2019/07/18 Javascript
vue-cli+iview项目打包上线之后图标不显示问题及解决方法
2019/10/16 Javascript
JS实现简单日历特效
2020/01/03 Javascript
Python基于xlrd模块操作Excel的方法示例
2018/06/21 Python
Python-Seaborn热图绘制的实现方法
2019/07/15 Python
PyTorch中Tensor的数据统计示例
2020/02/17 Python
HTML5实现QQ聊天气泡效果
2017/06/26 HTML / CSS
关于Java String的一道面试题
2013/09/29 面试题
党员违纪检讨书怎么写
2014/11/01 职场文书
2015中秋祝酒词
2015/08/12 职场文书
新手开公司创业注意事项有哪些?
2019/07/29 职场文书
导游词之淮安明祖陵
2019/11/25 职场文书
浅谈pytorch中的dropout的概率p
2021/05/27 Python
docker 制作mysql镜像并自动安装
2022/05/20 Servers