分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

js模拟输入支付密码

发布时间:2023-09-06 02:18责任编辑:顾先生关键词:js

html

<div class="content">
???<!--<div class="title">支付宝支付密码:</div>-->
???<div class="box"></div>
???<!--<div class="forget">忘记密码?</div>-->
???<!--<div class="point">请输入6位数字密码</div>-->
???<!--<button class="getPasswordBtn">一键获取密码</button>-->
???<div class="errorPoint">请输入数字!</div>

</div>

js

/*222动态生成*/
var box=document.getElementsByClassName("box")[0];
function createDIV(num){
???for(var i=0;i<num;i++){
???????var pawDiv=document.createElement("div");
???????pawDiv.className="pawDiv";
???????box.appendChild(pawDiv);
???????var paw=document.createElement("input");
???????paw.type="password";
???????paw.className="paw";
???????paw.maxLength="1";
???????paw.readOnly="readonly";
???????pawDiv.appendChild(paw);
???}
}
createDIV(6);



var pawDiv=document.getElementsByClassName("pawDiv");
var paw=document.getElementsByClassName("paw");
var pawDivCount=pawDiv.length;
/*设置第一个输入框默认选中*/
// pawDiv[0].setAttribute("style","border: 2px solid deepskyblue;");
paw[0].readOnly=false;
paw[0].focus();

var errorPoint=document.getElementsByClassName("errorPoint")[0];
/*绑定pawDiv点击事件*/

function func(){
???for(var i=0;i<pawDivCount;i++){
???????pawDiv[i].addEventListener("click",function(){
???????????pawDivClick(this);
???????});
???????paw[i].onkeyup=function(event){
???????????console.log(event.keyCode);
???????????if(event.keyCode>=48&&event.keyCode<=57){
???????????????/*输入0-9*/
???????????????changeDiv();
???????????????errorPoint.style.display="none";

???????????}else if(event.keyCode=="8") {
???????????????/*退格回删事件*/
???????????????firstDiv();

???????????}else if(event.keyCode=="13"){
???????????????/*回车事件*/
???????????????getPassword();

???????????}else{
???????????????/*输入非0-9*/
???????????????errorPoint.style.display="block";
???????????????this.value="";
???????????}

???????};
???}

}
func();


/*定义pawDiv点击事件*/
var pawDivClick=function(e){
???for(var i=0;i<pawDivCount;i++){
???????pawDiv[i].setAttribute("style","border:none");
???}
???// e.setAttribute("style","border: 2px solid deepskyblue;");
};


/*定义自动选中下一个输入框事件*/
var changeDiv=function(){
???for(var i=0;i<pawDivCount;i++){
???????if(paw[i].value.length=="1"){
???????????/*处理当前输入框*/
???????????paw[i].blur();
???????????/*处理上一个输入框*/
???????????// 添加背景点
???????????// paw[i].setAttribute("style","background: red;");
???????????if(i==5){
???????????????alert("最后一个22")
???????????????getPassword();
???????????????return
???????????}
???????????paw[i+1].focus();
???????????paw[i+1].readOnly=false;
???????????pawDivClick(pawDiv[i+1]);
???????}
???}
};

/*回删时选中上一个输入框事件*/
var firstDiv=function(){
???for(var i=0;i<pawDivCount;i++){
???????console.log(i);
???????if(paw[i].value.length=="0"){
???????????/*处理当前输入框*/
???????????console.log(i);
???????????paw[i].blur();

???????????/*处理上一个输入框*/
???????????paw[i-1].focus();
???????????paw[i-1].readOnly=false;
???????????paw[i-1].value="";
???????????pawDivClick(pawDiv[i-1]);
???????????break;
???????}
???}
};



/*获取输入密码*/
var getPassword=function(){
???var n="";
???for(var i=0;i<pawDivCount;i++){
???????n+=paw[i].value;
???}
???alert(n);
};
var getPasswordBtn=document.getElementsByClassName("getPasswordBtn")[0];

getPasswordBtn.addEventListener("click",getPassword);

/*键盘事件*/
document.onkeyup=function(event){
???if(event.keyCode=="13") {
???????/*回车事件*/
???????getPassword();
???}
};

css

*{
???padding: 0;
???margin: 0;
}
.content{
???width: 400px;
???height: 50px;
???margin: 0 auto;
???margin-top: 100px;

}
.title{
???font-family: ‘微软雅黑‘;
???font-size: 16px;
}
.box{
???width: 190px;
???height: 30px;
???border:1px solid #ccc;
???margin-top: 10px;
???line-height: 30px;
}

.content .box,.forget,.content .pwdBox{
???display: inline-block;
}
.content .forget{
???width: 100px;
???color:lightskyblue;
???vertical-align: super;
???font-size: 14px;
}
.box input.paw{
???width: 30px;
???height: 20px;
???line-height: 20px;
???margin-left: -9px;
???border:none;
???border-right: 1px dashed #ccc;
???text-align: center;
}
.box input.paw:nth-child(1){
???margin-left: 0;
}

.content .box .pawDiv:nth-child(6) input.paw{
???border: none;
}

.content .box input.paw:focus{outline:0;}
.content .box .pawDiv{
???display: inline-block;
???line-height: 30px;
???width: 31px;
???height: 31px;
???margin-top: -2px;
???float: left;
}
.point{
???font-size: 14px;
???color: #ccc;
???margin: 5px 0;
}
.errorPoint{
???color: red;
???display: none;
}
.getPasswordBtn{
???width: 100px;
???height: 30px;
???background-color: cornflowerblue;
???font-size: 14px;
???font-family: ‘微软雅黑‘;
???color: white;
???border: none;
}

js模拟输入支付密码

原文地址:https://www.cnblogs.com/shuihanxiao/p/9813026.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved