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 面向对象编程(2) 定义类
May 18 Javascript
Jquery中children与find之间的区别详细解析
Nov 29 Javascript
jQuery移除tr无效的解决方法(tr是动态添加)
Sep 22 Javascript
深入解析JavaScript中的arguments对象
Jun 12 Javascript
js友好的时间返回函数
Aug 24 Javascript
基于JavaScript实现跳转提示页面
Sep 24 Javascript
JavaScript计算值然后把值嵌入到html中的实现方法
Oct 29 Javascript
Angular2入门--架构总览
Mar 29 Javascript
简单的JS控制button颜色随点击更改的实现方法
Apr 17 Javascript
Bootstrap table使用方法总结
May 10 Javascript
JS实现table表格内针对某列内容进行即时搜索筛选功能
May 11 Javascript
详解Vue中使用Axios拦截器
Apr 22 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的正则处理函数总结分析
2008/06/20 PHP
PHP函数学习之PHP函数点评
2012/07/05 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
2018/05/23 PHP
Javascript中的数学函数
2007/04/04 Javascript
基于jquery的网页SELECT下拉框美化代码
2010/10/28 Javascript
JS继承 笔记
2011/07/13 Javascript
javascript 基础篇4 window对象,DOM
2012/03/14 Javascript
关于javascript中限定时间内防止按钮重复点击的思路详解
2016/08/16 Javascript
把多个JavaScript函数绑定到onload事件处理函数上的方法
2016/09/04 Javascript
webpack打包react项目的实现方法
2018/06/21 Javascript
vue系列之requireJs中引入vue-router的方法
2018/07/18 Javascript
详解微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案
2019/04/04 Javascript
Vue(定时器)解决mounted不能获取到data中的数据问题
2020/07/30 Javascript
[50:50]完美世界DOTA2联赛PWL S3 Galaxy Racer vs Phoenix 第一场 12.10
2020/12/13 DOTA
Python多进程multiprocessing用法实例分析
2017/08/18 Python
简单实现python聊天程序
2018/04/01 Python
PyTorch线性回归和逻辑回归实战示例
2018/05/22 Python
python实现键盘控制鼠标移动
2020/11/27 Python
Python神奇的内置函数locals的实例讲解
2019/02/22 Python
Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)
2019/06/28 Python
python实现几种归一化方法(Normalization Method)
2019/07/31 Python
Python 日志logging模块用法简单示例
2019/10/18 Python
Django多进程滚动日志问题解决方案
2019/12/17 Python
Python3 用matplotlib绘制sigmoid函数的案例
2020/12/11 Python
Pyside2中嵌入Matplotlib的绘图的实现
2021/02/22 Python
2014年大学生自我评价
2014/01/19 职场文书
公司接待方案
2014/03/08 职场文书
初中学生评语大全
2014/04/24 职场文书
全国优秀教师事迹材料
2014/08/26 职场文书
纪录片信仰观后感
2015/06/08 职场文书
电台广播稿范文
2015/08/19 职场文书
公务员岗前培训心得体会
2016/01/08 职场文书
应届毕业生的自我评价
2019/06/21 职场文书
vue使用节流函数的踩坑实例指南
2021/05/20 Vue.js
springboot用户数据修改的详细实现
2022/04/06 Java/Android
MySQL自定义函数及触发器
2022/08/05 MySQL