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 相关文章推荐
jquery ui dialog里调用datepicker的问题
Aug 06 Javascript
jquery.pagination.js 无刷新分页实现步骤分享
May 23 Javascript
jQuery+CSS3实现树叶飘落特效
Feb 01 Javascript
jQuery实现批量判断表单中文本框非空的方法(2种方法)
Dec 09 Javascript
一种基于浏览器的自动小票机打印实现方案(js版)
Jul 26 Javascript
Javascript中indexOf()和lastIndexOf应用方法实例
Aug 24 Javascript
JavaScript中Math对象的方法介绍
Jan 05 Javascript
javascript 实现文本使用省略号替代(超出固定高度的情况)
Feb 21 Javascript
template.js前端模板引擎使用详解
Oct 10 Javascript
浅谈vue同一页面中拥有两个表单时,的验证问题
Sep 18 Javascript
加快Vue项目的开发速度的方法
Dec 12 Javascript
React中this丢失的四种解决方法
Mar 12 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基于socket实现的简单客户端和服务端通讯功能示例
2017/07/10 PHP
XHTML下,JS浮动代码失效的问题
2009/11/12 Javascript
javascript tips提示框组件实现代码
2010/11/19 Javascript
JS获取并操作iframe中元素的方法
2013/03/21 Javascript
JS保存和删除cookie操作 判断cookie是否存在
2013/11/13 Javascript
Javascript和Java获取各种form表单信息的简单实例
2014/02/14 Javascript
JS操作COOKIE实现备忘记录的方法
2016/04/01 Javascript
浅谈Sublime Text 3运行JavaScript控制台
2016/06/06 Javascript
jQuery树形插件jquery.simpleTree.js用法分析
2016/09/05 Javascript
JavaScript注入漏洞的原理及防范(详解)
2016/12/04 Javascript
JavaScript基本类型值-Undefined、Null、Boolean
2017/02/23 Javascript
基于VUE选择上传图片并页面显示(图片可删除)
2017/05/25 Javascript
jQuery响应滚动条事件功能示例
2017/10/14 jQuery
Swiper 4.x 使用方法(移动端网站的内容触摸滑动)
2018/05/17 Javascript
Node.js一行代码实现静态文件服务器的方法步骤
2019/05/07 Javascript
微信小程序实现渐入渐出动画效果
2019/06/13 Javascript
Bootstrap告警框(alert)实现弹出效果和短暂显示后上浮消失的示例代码
2020/08/27 Javascript
javascript自定义加载loading效果
2020/09/15 Javascript
Python 的描述符 descriptor详解
2016/02/27 Python
Python开发最牛逼的IDE——pycharm
2018/08/01 Python
Python简单基础小程序的实例代码
2019/04/28 Python
python二进制文件的转译详解
2019/07/03 Python
Python 实例方法、类方法、静态方法的区别与作用
2019/08/14 Python
Pycharm操作Git及GitHub的步骤详解
2020/10/27 Python
Python通过yagmail实现发送邮件代码解析
2020/10/27 Python
Django Model层F,Q对象和聚合函数原理解析
2020/11/12 Python
详解canvas绘制多张图的排列顺序问题
2019/01/21 HTML / CSS
Boden美国官网:英伦原创时装品牌
2017/07/03 全球购物
儿科主治医生个人求职信
2013/09/23 职场文书
给学校建议书范文
2014/05/13 职场文书
自强自立美德少年事迹材料
2014/08/16 职场文书
音乐教师个人总结
2015/02/06 职场文书
环境卫生整治简报
2015/07/20 职场文书
Mysql调整优化之四种分区方式以及组合分区
2022/04/13 MySQL
苹果发布了MagSafe固件更新,可以不外接电源实现最高7.5W充电
2022/04/21 数码科技