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 相关文章推荐
Mozilla 表达式 __noSuchMethod__
Apr 05 Javascript
js hover 定时器(实例代码)
Nov 12 Javascript
js获取html页面节点方法(递归方式)
Dec 13 Javascript
javascript中数组的sort()方法的使用介绍
Dec 18 Javascript
禁用Enter键表单自动提交实现代码
May 22 Javascript
jquery trigger函数执行两次的解决方法
Feb 29 Javascript
AngularJS入门教程之双向绑定详解
Aug 18 Javascript
JavaScript 控制字体大小设置的方法
Nov 23 Javascript
AngularJS改变元素显示状态
Apr 20 Javascript
vue使用swiper实现中间大两边小的轮播图效果
Nov 24 Javascript
Vue data的数据响应式到底是如何实现的
Feb 11 Javascript
基于vue.js仿淘宝收货地址并设置默认地址的案例分析
Aug 20 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 默默经典版本
2009/08/04 PHP
php检测文本的编码
2015/07/26 PHP
利用PHP fsockopen 模拟POST/GET传送数据的方法
2015/09/22 PHP
Mootools 图片展示插件(lightbox,ImageMenu)收集集合
2010/05/21 Javascript
js读取本地excel文档数据的代码
2010/11/11 Javascript
a标签click和href执行顺序探讨
2014/06/23 Javascript
Angularjs 基础入门
2014/12/26 Javascript
简介AngularJS的HTML DOM支持情况
2015/06/17 Javascript
jquery实现最简单的滑动菜单效果代码
2015/09/12 Javascript
基于Bootstrap的UI扩展 StyleBootstrap
2016/06/17 Javascript
Javascript同时声明一连串(多个)变量的方法
2017/01/23 Javascript
bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法
2017/02/10 Javascript
SVG描边动画
2017/02/23 Javascript
vue中的provide/inject的学习使用
2018/05/09 Javascript
vue基础之事件简写、事件对象、冒泡、默认行为、键盘事件实例分析
2019/03/11 Javascript
解决Vue keep-alive 调用 $destory() 页面不再被缓存的情况
2020/10/30 Javascript
Vue 3自定义指令开发的相关总结
2021/01/29 Vue.js
python 读取excel文件生成sql文件实例详解
2017/05/12 Python
TensorFlow搭建神经网络最佳实践
2018/03/09 Python
Python实现将多个空格换为一个空格.md的方法
2018/12/20 Python
python实现浪漫的烟花秀
2019/01/30 Python
Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】
2019/03/18 Python
Python中使用logging和traceback模块记录日志和跟踪异常
2019/04/09 Python
Python 将json序列化后的字符串转换成字典(推荐)
2020/01/06 Python
python列表删除和多重循环退出原理详解
2020/03/26 Python
Pycharm导入anaconda环境的教程图解
2020/07/31 Python
日本乐天官方海外转运服务:Rakuten Global Express
2018/11/30 全球购物
android面试问题与答案
2016/12/27 面试题
文史专业毕业生自荐信
2013/11/17 职场文书
好家长事迹材料
2014/01/23 职场文书
机关门卫制度
2014/02/01 职场文书
代办委托书怎样写
2014/04/08 职场文书
2014年最新大专生职业生涯规划书范文
2014/09/13 职场文书
教师法制教育培训学习心得体会
2016/01/14 职场文书
详解CSS不定宽溢出文本适配滚动
2021/05/24 HTML / CSS
python画条形图的具体代码
2022/04/20 Python