您的位置:首页 > 其它

input使用replce禁止输入,在字符串中间添加字符光标会跳转到字符串最后解决办法

2016-12-23 10:56 513 查看
input使用replce禁止输入,在字符串中间添加字符光标会跳转到字符串最后,但会出现光标跳转到字符串最后再跳转到删除位置(光标闪烁),不知道怎么解决闪烁问题,希望有网友能有好的解决办法。

var card={
cardValue : "",//保存银行卡
pos : ""//光标位置
}
//银行卡号
$(document).on('input', '.cardList .account', function(){
card.pos = this.selectionEnd;//获取当前光标位置
var _me=this;
if (this.value.length <  card.cardValue.length) {//当删除时不做处理
card.cardValue=this.value;
} else{//输入
var reg = /^[0-9]*$/;
if (!reg.test(this.value)) {//输入非数字时
this.value = (function(a){//替换
card.cardValue = a.length >= 16  ? a.substring(0,16) : a.replace(/\D/g, '');
setTimeout(function(){//重置光标位置
_me.setSelectionRange(card.pos-1,card.pos-1);
},100);
return card.cardValue;

})(this.value);

}else{//输入数字
card.cardValue=this.value;
}

};
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐