移动端验证码效果的实现
来源:互联网 发布:淘宝素材免费下载 编辑:程序博客网 时间:2024/04/28 07:08
效果如下图所示,
代码如下,
html代码:
<div class="numberBox clearfix" onclick="judgeval();"><input type="tel" id="userinfo" index='0' maxlength="1" onfocus="focusinput(this);" /> <input type="tel" id="userinfo2" index='1' maxlength="1" onfocus="focusinput(this);"/> <input type="tel" id="userinfo3" index='2' maxlength="1" onfocus="focusinput(this);"/> <input type="tel" id="userinfo4" index='3' maxlength="1" onfocus="focusinput(this);" class="box"/></div>js代码如下:
/*index是input位置参数,等于当前有焦点的input的index属性morebackspace是检测是否连续删除的参数,点击一次删除后,值为true,其他操作时为falseinputval是检测当前具有焦点的input值是否为空的参数,如果为空,则为false,否则为true*/var higoodthingsdata = {index: 0,morebackspace: false,inputval: false}//验证4个input是否为空,如果为空,第一个input获得焦点function judgeval() {var arr = [];$('.numberBox input').each(function(index){if($(this).val() != '') {arr.push($(this).val())}});if(arr.length == 0) {$('#userinfo').focus();}}//光标移向下一个inputfunction nextinput(index) {index++;$('[index=' + index + ']').focus();higoodthingsdata.index = index;}//光标移向前一个input,并且对其进行删除操作function preinput(index) {index--;$('[index=' + index + ']').focus();$('[index=' + index + ']').val('');higoodthingsdata.index = index;}// input的焦点事件function focusinput(obj) {var _this = $(obj);_this.select();var val = _this.val();// 当input获得焦点时,更新higoodthingsdata.index为当前input的index属性var index = parseInt(_this.attr('index'));higoodthingsdata.index = index;/*获得焦点的当前input值为空时更新inputval为false,morebackspace为true不为空时,更新inputval为true,morebackspace为false*/if(val == '') {higoodthingsdata.inputval = false;higoodthingsdata.morebackspace =true;}else {higoodthingsdata.inputval = true;higoodthingsdata.morebackspace = false;}}$(function(){// 键盘事件$(this).keyup(function (even) { var keycode = (event.keyCode ? event.keyCode : event.which); // 检测键盘中是否按下删除键 if(keycode == 8) { // 检测是否是连续按下删除键 if(higoodthingsdata.morebackspace) { // 连续按下删除键的情况下,光标前移,并且删除前一项input值 preinput(higoodthingsdata.index); }else { // 不是连续按下删除键的情况下,先检测当前具有焦点的input元素是否有值 if(higoodthingsdata.inputval) { // 有值的情况下,光标不前移,直接删除当前项,并更新inputval状态 $('[index=' + higoodthingsdata.index + ']').val(''); higoodthingsdata.inputval = false; }else { // 没有值的情况下,光标前移,删除前一项,并更行inputval状态 preinput(higoodthingsdata.index); higoodthingsdata.inputval = false; }; }; // 按下删除键后,更新morebackspace状态为true higoodthingsdata.morebackspace = true; // 每次按下删除键的时候都要实时监测四个input是否为空,如果为空,使第一个input具有光标 judgeval(); return; }; // 使用keycode有特殊字符的bug,建议用正则匹配 if(((keycode >= 49) && (keycode <= 57)) || ((keycode >= 96) && (keycode <= 105))){ // 键盘事件,输入0-9,光标后移,并且更新morebackspace的值为false nextinput(higoodthingsdata.index); higoodthingsdata.morebackspace = false; // 最后一个input的index修正 if(higoodthingsdata.index == 4) { higoodthingsdata.inputval = true; higoodthingsdata.index = 3; } }else { // 键盘事件,输入不是0-9,光标不后移,清空当前输入值 $('[index=' + higoodthingsdata.index + ']').val(''); }; })})
阅读全文
0 0
- 移动端验证码效果的实现
- css-移动端:acitve效果的实现
- Android移动端短信验证码的实现
- javascript实现的验证码效果
- 移动端拖拽的实现效果
- Android实现验证码效果
- 实现真·转发效果的Twitter 移动端
- hammer.js实现移动端的拖放效果
- 使用touch-punch.js实现移动端的拖放效果
- mobiscroll实践:移动端仿苹果select效果的实现
- java swing 实现随机背景验证码的效果
- 验证码与flash图片交换效果的实现
- 利用System.Drawing实现验证码的效果
- 一段实现获取验证码倒计时效果的Jquery
- 仿支付宝滑块验证码效果的前端实现
- Android实现发送验证码倒计时的效果
- 简单实现短信验证码的倒计时效果
- 仿支付宝滑块验证码效果的前端实现
- Python学习
- SpringMVC
- Qt出现“error: undefined reference to `vtable for peripherals'”及处理方法
- AngularJs---JSONP跨域访问数据传输
- MySQL -1005
- 移动端验证码效果的实现
- Android6.0 危险权限和普通权限
- ionic
- Linux下安装ffmpeg音频、视频记录转换工具(centos 7)
- Docker Swarm 集群 微服务部署
- 第九周 项目一
- PHP高精度数值计算方法
- cmd 指令
- include/config.h:5:22: error: configs/.h: No such file or directory