js手机号4位显示空格,银行卡每4位显示空格效果


Posted in Javascript onMarch 23, 2017

开发有时候会遇到输入手机号和银行卡号,按照每4位显示一个空格的需求,方便用户阅读,如果是纯展示,就很容易实现,如果是一边输入一边展示则有点难度

有人用两个input实现,一个负责输入数据,但是透明看不见,另外一个展示在界面上,变相的解决了这个需求(手机上可调用数字键盘)

本次取巧写个demo,只用一个input用定时器不断的查询输入的字符来判断输入的数据(无法直接调用数字键盘,因为里边有空格)

如果是银行卡号,将字符判断长度更改为,也可以根据实际需求来判断长度

lastLen === 5 || lastLen === 10 || lastLen === 15|| lastLen === 20

话不多说,上代码

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
 <meta name="renderer" content="webkit">
 <title>Title</title>
</head>
<body>
<input type="text" id="telphone"><span id="err"></span>
<script>
 var telphone = document.getElementById('telphone');
 var err = document.getElementById('err');
 //定义两个缓存值
 var firstLen = 0;
 var lastLen = 0;
 var re=/^1(3|4|5|7|8)\d{9}$/;
 telphone.oninput = function () {
  telphone.value = telphone.value.substr(0, 13);//只允许输入11位+2个空格
  //用户输入满11位开始验证
  if(telphone.value.length==13){
   //将数据去掉空格后验证
   if(!re.test(telphone.value.replace(/\s/g, ''))){
    err.innerHTML='手机号码有误'
   } else{
    err.innerHTML=''
   }
  }else{
   err.innerHTML=''
  }

 }
 telphone.onfocus = function () {
  timer = setInterval(function () {
   lastLen = telphone.value.length;
   if (lastLen > firstLen) {
    firstLen = telphone.value.length;
    if (lastLen === 4 || lastLen === 9) {
     var temp1 = telphone.value.substr(0, telphone.value.length - 1);
     var temp2 = telphone.value.substr(telphone.value.length - 1);
     telphone.value = temp1 + ' ' + temp2;
    }
   } else if (lastLen <= firstLen) {
    if (lastLen === 4 || lastLen === 9) {
     telphone.value = telphone.value.substr(0, telphone.value.length - 1);
    }
    firstLen = telphone.value.length;
   }
  }, 10);//如果手机出现卡顿,可适当把定时器时间加大
 }
</script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 数组实现一个类似ruby的迭代器
Oct 27 Javascript
Javascript 类与静态类的实现
Apr 01 Javascript
js getBoundingClientRect() 来获取页面元素的位置
Nov 25 Javascript
js防止表单重复提交的两种方法
Sep 30 Javascript
javaScript如何处理从java后台返回的list
Apr 24 Javascript
jquery的总体架构分析及实现示例详解
Nov 08 Javascript
jquery获取所有选中的checkbox实现代码
May 26 Javascript
ES6中let 和 const 的新特性
Sep 03 Javascript
Vue自定义组件的四种方式示例详解
Feb 28 Javascript
jQuery三组基本动画与自定义动画操作实例总结
May 09 jQuery
微信小程序12行js代码自己写个滑块功能(推荐)
Jul 15 Javascript
JS中锚点链接点击平滑滚动并自由调整到顶部位置
Feb 06 Javascript
JS实现两周内自动登录功能
Mar 23 #Javascript
面试常见的js算法题
Mar 23 #Javascript
Vue.Js中的$watch()方法总结
Mar 23 #Javascript
Vue 2.X的状态管理vuex记录详解
Mar 23 #Javascript
jQuery插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
Mar 23 #jQuery
jQuery插件FusionWidgets实现的Bulb图效果示例【附demo源码下载】
Mar 23 #jQuery
jQuery插件FusionWidgets实现的Cylinder图效果示例【附demo源码】
Mar 23 #jQuery
You might like
如何在PHP中使用Oracle数据库(5)
2006/10/09 PHP
php header示例代码(推荐)
2010/09/08 PHP
php数组函数序列之each() - 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位
2011/10/31 PHP
php解析json数据实例
2014/08/19 PHP
PHP实现定时执行任务的方法
2014/10/05 PHP
php使用文本统计访问量的方法
2016/05/12 PHP
Smarty3配置及入门语法
2017/02/22 PHP
php弹出提示框的是实例写法
2019/09/26 PHP
cnblogs csdn 代码运行框实现代码
2009/11/02 Javascript
jquery js 重置表单 reset()具体实现代码
2013/08/05 Javascript
js获取鼠标点击的对象,点击另一个按钮删除该对象的实现代码
2016/05/13 Javascript
JS中的进制转换以及作用
2016/06/26 Javascript
node.js 和HTML5开发本地桌面应用程序
2016/12/13 Javascript
jQuery实现可移动选项的左右下拉列表示例
2016/12/26 Javascript
解析ajaxFileUpload 异步上传文件简单使用
2016/12/30 Javascript
ng-options和ng-checked在表单中的高级运用(推荐)
2017/01/21 Javascript
JavaScript中 this 指向问题深度解析
2017/02/21 Javascript
Bootstrap笔记—折叠实例代码
2017/03/13 Javascript
vue.js加载新的内容(实例代码)
2017/06/01 Javascript
vue中的模态对话框组件实现过程
2018/05/01 Javascript
详解Nodejs get获取远程服务器接口数据
2019/03/26 NodeJs
JavaScript实现左右滚动电影画布
2020/02/06 Javascript
ant design vue中表格指定格式渲染方式
2020/10/28 Javascript
[04:13]2014DOTA2国际邀请赛 专访DC目前形势不容乐观
2014/07/12 DOTA
Python手机号码归属地查询代码
2016/05/04 Python
twilio python自动拨打电话,播放自定义mp3音频的方法
2019/08/08 Python
Python3列表List入门知识附实例
2020/02/09 Python
Html5 FileReader实现即时上传图片功能实例代码
2014/09/01 HTML / CSS
英国定做窗帘和纺织品面料一站式商店:Dekoria
2018/08/29 全球购物
教师自荐信
2013/12/10 职场文书
交通安全横幅标语
2014/10/07 职场文书
大学军训口号大全
2015/12/24 职场文书
员工工作失职检讨书范文!
2019/07/03 职场文书
Python爬虫之爬取最新更新的小说网站
2021/05/06 Python
Nginx反向代理、重定向
2022/04/13 Servers
python APScheduler执行定时任务介绍
2022/04/19 Python