本文介绍如何使用JavaScript结合正则表达式限制HTML文本框仅能输入数字和一个小数点。通过replace方法依次过滤非数字字符、处理开头的小数点、合并多个小数点以及确保唯一小数点,实现严格的输入格式控制。
JavaScript限制输入数字与小数点的实现代码
具体实现代码如下:
function gaga(obj){ // 该函数允许输入一个小数点和数字
obj.value = obj.value.replace(/[^\d.]/g,""); // 首先将非数字和非小数点的字符替换为空,仅保留数字和小数点
obj.value = obj.value.replace(/^\./g,""); // 确保字符串开头不是小数点,若开头是小数点则将其移除
obj.value = obj.value.replace(/\.{2,}/g,"."); // 将连续出现两次或以上的小数点替换为单个小数点
obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$","."); // 通过临时替换确保整个字符串中只存在一个小数点,防止出现多个
}
<input id="gaga" type="text" onkeyup="gaga(this)" />