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实例教程(19) 使用HoTMetal(3)
Dec 23 Javascript
PNG背景在不同浏览器下的应用
Jun 22 Javascript
基于jquery实现的服务器验证控件的启用和禁用代码
Apr 27 Javascript
javascript window.confirm确认 取消对话框实现代码小结
Oct 21 Javascript
Javascript 修改String 对象 增加去除空格功能(示例代码)
Nov 30 Javascript
JS 屏蔽按键效果与改变按键效果的示例代码
Dec 24 Javascript
JavaScript实现把数字转换成中文
Jun 29 Javascript
JS利用cookie记忆当前位置的防刷新导航效果
Oct 15 Javascript
bootstrap fileinput 插件使用项目总结(经验)
Feb 22 Javascript
node.js基于socket.io快速实现一个实时通讯应用
Apr 23 Javascript
JS根据json数组多个字段排序及json数组常用操作
Jun 06 Javascript
vue+elementUI中表格高亮或字体颜色改变操作
Nov 02 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获取网络文件的实现代码
2010/01/01 PHP
php分页思路以及在ZF中的使用
2012/05/30 PHP
MySQL 日期时间函数常用总结
2012/06/12 PHP
php生成数字字母的验证码图片
2015/07/14 PHP
php利用imagemagick实现复古老照片效果实例
2017/02/16 PHP
PHP安装memcache扩展的步骤讲解
2019/02/14 PHP
Yii框架中使用PHPExcel的方法分析
2019/07/25 PHP
JavaScript 浮点数运算 精度问题
2009/10/06 Javascript
js为鼠标添加右击事件防止默认的右击菜单弹出
2013/07/29 Javascript
使表格的标题列可左右拉伸jquery插件封装
2014/11/24 Javascript
基于javascript实现右下角浮动广告效果
2016/01/08 Javascript
vue 实现全选全不选的示例代码
2018/03/29 Javascript
详解auto-vue-file:一个自动创建vue组件的包
2019/04/26 Javascript
[01:18]PWL开团时刻DAY10——一拳超人
2020/11/11 DOTA
Python socket C/S结构的聊天室应用实现
2014/11/30 Python
关于numpy中np.nonzero()函数用法的详解
2017/02/07 Python
Python数据抓取爬虫代理防封IP方法
2018/12/23 Python
Python模块的加载讲解
2019/01/15 Python
如何用Python做一个微信机器人自动拉群
2019/07/03 Python
python爬虫 线程池创建并获取文件代码实例
2019/09/28 Python
Python变量及数据类型用法原理汇总
2020/08/06 Python
python 生成器需注意的小问题
2020/09/29 Python
分享一枚pycharm激活码适用所有pycharm版本我的pycharm2020.2.3激活成功
2020/11/20 Python
Django haystack实现全文搜索代码示例
2020/11/28 Python
纯css3制作的火影忍者写轮眼开眼至轮回眼及进化过程实例
2014/11/11 HTML / CSS
HTML5事件方法全部汇总
2016/05/12 HTML / CSS
英格兰足协官方商店:England Store
2019/07/12 全球购物
工程造价专业大学生自荐信
2013/10/01 职场文书
大学生收银员求职信分享
2014/01/02 职场文书
高级销售求职信
2014/02/21 职场文书
2014年乡镇团委工作总结
2014/12/18 职场文书
仓管员岗位职责范本
2015/04/01 职场文书
可可西里观后感
2015/06/08 职场文书
2016年教师节慰问信
2015/12/01 职场文书
Python OpenCV形态学运算示例详解
2022/04/07 Python
MySQL批量更新不同表中的数据
2022/05/11 MySQL