input输入框,正则格式化手机号(344)

32 篇文章 1 订阅
26 篇文章 0 订阅
最近有个H5手机页面需要做344的格式化,以前没有注意到,写的时候发现问题很多,然后就找大神的代码,抄袭下。

1.html版本

//input框使用onkeyup事件
function formatPhoneOnkeyUp(mobile){
    var value = mobile.replace(/\D/g, '').substring(0, 11);
    var valueLen = value.length;
    if (valueLen > 3 && valueLen < 8) {
          value = `${value.substr(0, 3)} ${value.substr(3)}`;
    } else if (valueLen >= 8) {
          value = `${value.substr(0, 3)} ${value.substr(3, 4)} ${value.substr(7)}`;
    }
    return value;
}

2.js版本。jsp可以用。

function formatPhoneOnkeyUp(mobile){
	    var value = mobile.replace(/\D/g, '').substring(0, 11);
	    var valueLen = value.length;
	    if (valueLen > 3 && valueLen < 8) {
	    	value = value.replace(/^(...)/g, "$1 ");
	    } else if (valueLen >= 8) {
	    	value = value.replace(/^(...)(....)/g, "$1 $2 ");
	    }
	    return value;
    }

最近发现这个代码有bug,移动光标删除数字或空格,光标会跳。好心塞。而且因为$符号的问题,方法没法在jsp里面使用。 好难过。再加个方法兼容jsp
这只是一个简单的方法,需要用的同学,请结合自己的业务修改。
代码是从阿里的一个js组建的源码里抄袭的一点。感觉很简单的代码,但是自己写的时候就bug很多。对js基础知识理解不深刻。
这就是差距!!!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值