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 相关文章推荐
防止动态加载JavaScript引起的内存泄漏问题
Oct 08 Javascript
JS返回iframe中frameBorder属性值的方法
Apr 01 Javascript
JavaScript中的原型prototype属性使用详解
Jun 05 Javascript
jquery中表单 多选框的一种巧妙写法
Sep 06 Javascript
基于jQuery实现的扇形定时器附源码下载
Oct 20 Javascript
基于javascript实现右下角浮动广告效果
Jan 08 Javascript
Js操作DOM元素及获取浏览器高宽的简单方法
Sep 08 Javascript
js实现水平滚动菜单导航
Jul 21 Javascript
ES6中字符串string常用的新增方法小结
Nov 07 Javascript
vue watch自动检测数据变化实时渲染的方法
Jan 16 Javascript
JavaScript中Object基础内部方法图
Feb 05 Javascript
Vue打包后出现一些map文件的解决方法
Feb 13 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
如何做到多笔资料的同步
2006/10/09 PHP
php四种基础算法代码实例
2013/10/29 PHP
PHP中auto_prepend_file与auto_append_file用法实例分析
2014/09/22 PHP
PHP 实现从数据库导出到.csv文件方法
2017/07/06 PHP
PHP实现负载均衡session共享redis缓存操作示例
2018/08/22 PHP
PHP如何通过表单直接提交大文件详解
2019/01/08 PHP
Laravel 5.5 异常处理 &amp; 错误日志的解决
2019/10/17 PHP
javascript 数组操作详解
2015/01/29 Javascript
JavaScript中模拟实现jsonp
2015/06/19 Javascript
js实现不重复导入的方法
2016/03/02 Javascript
JS获取屏幕高度的简单实现代码
2016/05/24 Javascript
JavaScript核心语法总结(推荐)
2016/06/02 Javascript
Bootstrap轮播插件使用代码
2016/10/11 Javascript
JSON键值对序列化和反序列化解析
2017/01/24 Javascript
详解vue-cli开发环境跨域问题解决方案
2017/06/06 Javascript
Vue props用法详解(小结)
2018/07/03 Javascript
详解JS转换数值函数Number()、parseInt()、parseFloat()
2018/08/24 Javascript
vue首次赋值不触发watch的解决方法
2018/09/11 Javascript
javascript+css实现俄罗斯方块小游戏
2020/06/28 Javascript
[01:50:49]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第三场 1月24日
2021/03/11 DOTA
Python创建系统目录的方法
2015/03/11 Python
python通过pil为png图片填充上背景颜色的方法
2015/03/17 Python
如何在Python中实现goto语句的方法
2019/05/18 Python
Python操作excel的方法总结(xlrd、xlwt、openpyxl)
2019/09/02 Python
部署Django到阿里云服务器教程示例
2020/06/03 Python
完美解决TensorFlow和Keras大数据量内存溢出的问题
2020/07/03 Python
Keras构建神经网络踩坑(解决model.predict预测值全为0.0的问题)
2020/07/07 Python
下面这个程序执行后会有什么错误或者效果
2014/11/03 面试题
机械工程师求职自我评价
2013/09/23 职场文书
旷课检讨书大全
2014/01/21 职场文书
竞选班长的演讲稿
2014/04/24 职场文书
市级青年文明号申报材料
2014/05/26 职场文书
超市开店计划书
2014/09/15 职场文书
政府领导干部个人对照检查材料思想汇报
2014/09/24 职场文书
Python制作一个随机抽奖小工具的实现
2021/07/07 Python
win10电脑双屏显示一个黑屏怎么办?win10电脑双屏显示一个黑屏解决方法
2022/07/15 数码科技