使用正则与JS限制Input仅输入数字的实现方法
作者:竹影时间:2026-10-30 06:36:29浏览:376
本文介绍如何在Web表单中限制文本框仅允许输入数字。通过定义包含\D的正则表达式,结合JavaScript的onblur事件或addEventListener监听blur,在用户失去焦点时自动替换非数字字符。示例展示了HTML属性绑定与JS对象方法两种实现方式,适用于手机号、邮编等场景。
限制输入数字的需求背景
在注册账号或填写信息的场景中,若用户误将电话号码输入为汉字或英文字母,会导致数据错误。为确保手机号、邮编及电话号码等文本框仅能接收数字字符,需对输入内容进行限制。
正则表达式匹配原理
实现该功能的核心思路是利用正则表达式匹配非数字字符。
具体代码实现如下:
var numRegex = /\D/g
基于onblur事件的实现方案
随后利用JavaScript的onblur事件处理逻辑。
onblur事件定义如下:
当对象失去焦点时触发该事件。
该事件常用于JavaScript验证代码,主要应用于表单输入框的校验。
其语法结构如下:
在HTML标签中:
相关代码示例:
<element onblur="SomeJavaScriptCode">
在JavaScript代码中:
object.onblur= function(){
//操作
myScript;
}
可通过addEventListener()方法绑定事件:
具体调用代码为:
object.addEventListener('blur',myScript);完整代码示例
完整的DEMO代码示例如下:
var numRegexFn = function(obj){
obj.value = obj.value.replace(numRegex,'');
if(!obj.value){
alert('请输入数字');
}else{
alert('pass');
}
}
phone.onblur = function(){
numRegexFn(this);
}
上述内容介绍了利用正则表达式和JS限制输入框仅能输入数字的方法,希望能对读者有所帮助。
作者最新文章
JS怎么使用classList添加、删除和切换class
2026-11-05 17:26:02
网页开发三者分工:HTML结构、CSS样式与JavaScript交互怎么协作
2026-11-05 12:51:22
JS解析URL参数时怎么处理中文乱码和特殊字符
2026-11-05 12:47:23
js-cookie 存储 JSON 对象:自动序列化与反序列化技巧
2026-11-05 12:36:26
marked.js 快速上手:安装与基础 Markdown 转 HTML 示例
2026-11-05 09:32:53
