开发有时候会遇到输入手机号和银行卡号,按照每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>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# js
# 银行卡
# 4位
# 空格
# js输入手机号自动空格
# 每隔4位加空格
# js jquery验证银行卡号信息正则学习
# JavaScript中校验银行卡号的实现代码
# JS使用正则控制用户输入银行卡号及格式化
# JS代码随机生成姓名、手机号、身份证号、银行卡号
# js实现模拟银行卡账号输入显示效果
# js格式化输入框内金额、银行卡号
# JS填写银行卡号每隔4位数字加一个空格
# 解决javascript 全局变量失效的问题
# nodejs利用http模块实现银行卡所属银行查询和骚扰电话验证示例
# JS实现的获取银行卡号归属地及银行卡类型操作示例
# 卡号
# 很容易
# 另外一个
# 可以根据
# 多说
# 机上
# 则有
# 大家多多
# 只允许
# 有人用
# 解决了
# 直接调用
# 可适当
# en
# lang
# head
# gt
# lt
# DOCTYPE
# html
相关文章:
建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析
威客平台建站流程解析:高效搭建教程与设计优化方案
安徽网站建设与外贸建站服务专业定制方案
制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?
建站之星如何实现网站加密操作?
建站主机核心功能解析:服务器选择与网站搭建流程指南
小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建
大连 网站制作,大连天途有线官网?
建站主机是否等同于虚拟主机?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
建站主机类型有哪些?如何正确选型
相册网站制作软件,图片上的网址怎么复制?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
潮流网站制作头像软件下载,适合母子的网名有哪些?
seo网站制作优化,网站SEO优化步骤有哪些?
Android滚轮选择时间控件使用详解
c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】
网站好制作吗知乎,网站开发好学吗?有什么技巧?
建站主机如何安装配置?新手必看操作指南
建站之星安装后如何自定义网站颜色与字体?
建站主机选购指南:核心配置优化与品牌推荐方案
网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?
php条件判断怎么写_ifelse和switchcase的使用区别【对比】
如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法
微信小程序制作网站有哪些,微信小程序需要做网站吗?
SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?
公司网站的制作公司,企业网站制作基本流程有哪些?
如何通过云梦建站系统实现SEO快速优化?
,想在网上投简历,哪几个网站比较好?
如何通过WDCP绑定主域名及创建子域名站点?
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
深圳网站制作的公司有哪些,dido官方网站?
常州自助建站费用包含哪些项目?
成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
建站之星收费标准详解:套餐费用及年费价格表一览
香港服务器如何优化才能显著提升网站加载速度?
电商网站制作价格怎么算,网上拍卖流程以及规则?
微信小程序 五星评分(包括半颗星评分)实例代码
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
微网站制作教程,我微信里的网站怎么才能复制到浏览器里?
建站之星云端配置指南:模板选择与SEO优化一键生成
如何通过西部数码建站助手快速创建专业网站?
家庭建站与云服务器建站,如何选择更优?
网站网页制作专业公司,怎样制作自己的网页?
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
建站之星展会模版如何一键下载生成?
北京营销型网站制作公司,可以用python做一个营销推广网站吗?
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
*请认真填写需求信息,我们会在24小时内与您取得联系。