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 相关文章推荐
Mootools 1.2教程(2) DOM选择器
Sep 14 Javascript
网站页面自动跳转实现方法PHP、JSP(上)
Aug 01 Javascript
深入php面向对象、模式与实践
Feb 16 Javascript
jQuery中事件与动画的总结分享
May 24 Javascript
微信小程序 本地存储及登录页面处理实例详解
Jan 11 Javascript
深入理解Javascript箭头函数中的this
Feb 13 Javascript
JS数组操作之增删改查的简单实现
Aug 21 Javascript
angular2模块和共享模块详解
Apr 08 Javascript
微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能图文详解
May 14 Javascript
JavaScript实现单英文金山打字通
Jul 24 Javascript
vuex管理状态 刷新页面保持不被清空的解决方案
Nov 11 Javascript
js实现列表按字母排序
Aug 11 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
十大“创意”战术!
2020/03/04 星际争霸
php基础知识:类与对象(1)
2006/12/13 PHP
php 解决旧系统 查出所有数据分页的类
2012/08/27 PHP
Yii统计不同类型邮箱数量的方法
2016/10/18 PHP
jQuery+CSS 半开折叠效果原理及代码(自写)
2013/03/04 Javascript
js弹出层包含flash 不能关闭隐藏的2种处理方法
2013/06/17 Javascript
JavaScript中Function()函数的使用教程
2015/06/04 Javascript
浅谈JavaScript中null和undefined
2015/07/09 Javascript
jQuery实现的产品自动360度旋转展示特效源码分享
2015/08/21 Javascript
jQuery实现动态表单验证时文本框抖动效果完整实例
2015/08/21 Javascript
微信小程序如何获知用户运行小程序的场景教程
2017/05/17 Javascript
jQuery鼠标移动图片上实现放大效果
2017/06/25 jQuery
js自定义弹框插件的封装
2020/08/24 Javascript
ES6中的rest参数与扩展运算符详解
2017/07/18 Javascript
ES6学习教程之块级作用域详解
2017/10/09 Javascript
js循环map 获取所有的key和value的实现代码(json)
2018/05/09 Javascript
Puppet的一些技巧
2018/09/17 Javascript
通过原生vue添加滚动加载更多功能
2019/11/21 Javascript
JavaScript变量Dom对象的所有属性
2020/04/30 Javascript
Jquery+AJAX实现无刷新上传并重命名文件操作示例【PHP后台接收】
2020/05/29 jQuery
[14:00]DOTA2国际邀请赛史上最长大战 赛后专访B神
2013/08/10 DOTA
python optparse模块使用实例
2015/04/09 Python
详解python字节码
2018/02/07 Python
python根据list重命名文件夹里的所有文件实例
2018/10/25 Python
Python 文本文件内容批量抽取实例
2018/12/10 Python
对python模块中多个类的用法详解
2019/01/10 Python
python的scipy实现插值的示例代码
2019/11/12 Python
Python利用多线程同步锁实现多窗口订票系统(推荐)
2019/12/22 Python
解决Django no such table: django_session的问题
2020/04/07 Python
Python plt 利用subplot 实现在一张画布同时画多张图
2021/02/26 Python
html5表单及新增的改良元素详解
2016/06/07 HTML / CSS
学校司机岗位职责
2013/11/14 职场文书
财务会计自荐信范文
2014/02/21 职场文书
汽车转让协议书范本
2014/12/07 职场文书
Python中可变和不可变对象的深入讲解
2021/08/02 Python
Android 中的类文件和类加载器详情
2022/06/05 Java/Android