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 html 静态页面传参数
Apr 10 Javascript
jquery 可拖拽的窗体控件实现代码
Mar 21 Javascript
读jQuery之十二 删除事件核心方法
Jul 31 Javascript
谷歌浏览器调试JavaScript小技巧
Dec 29 Javascript
jquery制作多功能轮播图插件
Apr 02 Javascript
使用AngularJS实现可伸缩的页面切换的方法
Jun 19 Javascript
jQuery ajax分页插件实例代码
Jan 27 Javascript
javascript+css3 实现动态按钮菜单特效
Feb 06 Javascript
jQuery EasyUI 右键菜单--关闭标签/选项卡的简单实例
Oct 10 Javascript
小程序点赞收藏功能的实现代码示例
Sep 07 Javascript
jQuery选择器之基本过滤选择器用法实例分析
Feb 19 jQuery
vue使用echarts实现水平柱形图实例
Sep 09 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
微信自定义菜单的处理开发示例
2015/04/16 PHP
Zend Framework教程之路由功能Zend_Controller_Router详解
2016/03/07 PHP
PHP连接MySQL数据库三种实现方法
2020/12/10 PHP
鼠标经过的文本框textbox变色
2009/05/21 Javascript
JQuery Easyui Tree的oncheck事件实现代码
2010/05/28 Javascript
jQuery 关于伪类选择符的使用说明
2013/04/24 Javascript
jQuery.event兼容各浏览器的event详细解析
2013/12/18 Javascript
jQuery的Read()方法代替原生JS详解
2016/11/08 Javascript
AngularJS中$apply方法和$watch方法用法总结
2016/12/13 Javascript
清除输入框内的空格
2016/12/21 Javascript
BootStrap Table前台和后台分页对JSON格式的要求
2017/06/28 Javascript
create-react-app构建项目慢的解决方法
2018/03/14 Javascript
纯js封装的ajax功能函数与用法示例
2018/05/14 Javascript
如何使用electron-builder及electron-updater给项目配置自动更新
2018/12/24 Javascript
操作按钮悬浮固定在微信小程序底部的实现代码
2019/08/02 Javascript
[01:02:03]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS VG
2014/05/26 DOTA
[03:01]2014DOTA2国际邀请赛 小组赛7月13日TOPPLAY
2014/07/14 DOTA
[03:55]TI9战队采访——TNC Predator
2019/08/22 DOTA
Python多线程编程(二):启动线程的两种方法
2015/04/05 Python
Python安装使用命令行交互模块pexpect的基础教程
2016/05/12 Python
python实现百度语音识别api
2018/04/10 Python
在Python中通过getattr获取对象引用的方法
2019/01/21 Python
Python函数装饰器原理与用法详解
2019/08/16 Python
python实现udp传输图片功能
2020/03/20 Python
python中的插入排序的简单用法
2021/01/19 Python
Python运算符+与+=的方法实例
2021/02/18 Python
HTML5 source标签:媒介元素定义媒介资源
2018/01/29 HTML / CSS
英国简约舒适女装品牌:Great Plains
2018/07/27 全球购物
潘多拉珠宝美国官方网站:Pandora US
2020/06/18 全球购物
解释一下ruby中的特殊方法与特殊类
2013/02/26 面试题
中班上学期幼儿评语
2014/04/30 职场文书
学校消防安全责任书
2014/07/23 职场文书
投资入股合作协议书
2014/10/28 职场文书
2015年幼儿园学前班工作总结
2015/05/18 职场文书
工作感想范文
2015/08/07 职场文书
幼儿园教师暑期培训心得体会
2016/01/09 职场文书