本文介绍一种JavaScript方法,限制HTML文本框仅能输入数字和小数点。通过监听onkeydown事件拦截非法按键,利用onblur事件清理已输入的非数字字符,并处理onbeforepaste粘贴行为,确保用户无法输入字母或其他符号。
JavaScript限制文本框输入类型的方法
本文介绍一种使用JavaScript限制HTML文本框输入内容类型的具体实现方案,供开发者参考。
核心需求是限制所有文本框仅允许输入数字和小数点,禁止输入任何其他符号。
关键在于实现实时输入限制,而非仅在提交时进行校验。具体表现为:当用户输入数字或小数点时,字符正常显示;若尝试输入字母等非数字字符,文本框应无任何反应,不显示输入的字符。
<html>
<body>
<script>
var s = "<input type=\"text\" size=\"20\" " +
"style=\"text-align:center\" " +
"onkeydown=\"if(event.keyCode>57&&event.keyCode!=190) return false\" "+
//限制只能输入数字
"onblur=\"value=value.replace(/[^0-9\.]/g,'')\" " +
//限制鼠标点击输入非数字
"onbeforepaste=\"clipboardData.setData(\"text\"," +
//限制只能粘贴数字
"clipboardData.getData(\"text\").replace(/[^0-9\.]/g,''))\">";
document.write(s);
</script>
</body>
</html>
希望上述JavaScript程序设计示例能对读者有所帮助。