版权声明:本文为博主收藏或原创文章,欢迎大家分享转载。 https://blog.youkuaiyun.com/w6990548/article/details/79388905 </div>
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-cd6c485e8b.css">
<div id="content_views" class="markdown_views">
<!-- flowchart 箭头图标 勿删 -->
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path>
</svg>
<h3 id="限制-input-输入框只能输入纯数字">限制 <code>input</code> 输入框只能输入纯数字</h3>
1、onkeyup = "value=value.replace(/[^\d]/g,'')"
使用
onkeyup
事件,有bug
,那就是在中文输入法状态下,输入汉字之后直接回车,会直接输入字母
2、onchange = "value=value.replace(/[^\d]/g,'')"
使用
onchange
事件,在输入内容后,只有input
丧失焦点时才会得到结果,并不能在输入时就做出响应
3、oninput = "value=value.replace(/[^\d]/g,'')"
使用
oninput
事件,完美的解决了以上两种问题,测试暂时还没有出现其它问题。
代码示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>input</title>
</head>
<body>
只能输入纯数字的输入框:<input type="text" name="" οninput="value=value.replace(/[^\d]/g,'')">
</body>
</html>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
以上代码均已在谷歌、火狐、百度、UC、IE11、360急速、QQ、Edge浏览器下测试完毕,请放心使用,
感谢 qq_38726717
、 小小小欣
两位小伙伴在评论区的反馈。