js input手机号正则限制11位数字

**  h5开发 js代码限制 input 输入框只能输入纯数字**
(1)方案一

javascript 复制代码
onkeyup = "value=value.replace(/[^\d]/g,'')"

  使用 onkeyup 事件有 Bug ,就是在中文输入法状态下,输入汉字之后回车,会直接输入字母

(2)方案二

javascript 复制代码
onchange = "value=value.replace(/[^\d]/g,'')"

  使用 onchange 事件,在输入内容后,只有 input 丧失焦点时才会得到结果,并不能在输入时就做出响应

(3)方案三

javascript 复制代码
oninput = "value=value.replace(/[^\d]/g,'')"

  使用 oninput 事件,完美的解决了以上两种问题,测试暂时还没有出现其它问题

测试

javascript 复制代码
<input type="text" maxlength="11" oninput = "value=value.replace(/[^\d]/g,'')"  placeholder="请输入您的手机号">

  接着加个maxlength="11" 限制只能输入位数为11位;

  js验证代码

javascript 复制代码
var num = document.getElementById('num');
                if(num.value.length != 18){
                    alert('输入正确的身份证号码');
                    num.focus();
                    return false;
                }
javascript 复制代码
var phone_reg = /^13[0-9]{1}[0-9]{8}$|15[0-9]{1}[0-9]{8}$|18[0-9]{1}[0-9]{8}|17[0-9]{1}[0-9]{8}$|14[0-9]{1}[0-9]{8}/;
                    var tel_reg = /^([0-9]{3,4}-)?[0-9]{7,8}$/;
                    if(!phone_reg.test(phone.value) && !tel_reg.test(phone.value)){
                        alert('手机或电话号码格式不正确。如果是固定电话,必须形如(xxxx-xxxxxxxx)');
                        phone.focus();
                        return false;
                    }
相关推荐
caimouse几秒前
Reactos 第 4 章 对象管理 — 4.6 对象的访问控制 / 4.7 句柄的遗传和继承
开发语言·windows·架构
huangdong_7 分钟前
京东整店商品图片视频批量下载技术:从商品列表到自动分类
开发语言·python·音视频
Curvatureflight8 分钟前
浏览器音频采集实践:麦克风权限、降噪、回声消除与 PCM 转换
前端·javascript·音视频·信息与通信·web·pcm
摇滚侠10 分钟前
JavaWeb 全套教程 Filter 107-111
java·开发语言·servlet
Dontla10 分钟前
HTML实体转义(HTML Entity Escaping)介绍
前端·html
咸鱼翻身小阿橙11 分钟前
高斯模糊降噪/磨皮算法降噪图像
前端·opencv·算法·webpack·c#
聆风吟º12 分钟前
【C标准库】深入理解C语言 atoi 函数:字符串转换为整数
c语言·开发语言·库函数·atoi
ct97812 分钟前
ES6 新特性
前端·vue.js·性能优化
凤山老林13 分钟前
81-Java Scanner 类
java·开发语言
j_xxx404_13 分钟前
MySQL数据库基础硬核解析:从 C/S 网络服务到磁盘文件与存储引擎
linux·运维·服务器·开发语言·数据库·mysql·ai