javascript - 使用 javascript 验证文本框中具有十进制值的数字

标签 javascript textbox

如何使用javascript限制用户在文本框中仅输入6位数字和两位小数值?

//Function to allow only numbers to textbox
function validate(key) {
    //getting key code of pressed key
    var keycode = (key.which) ? key.which : key.keyCode;
    var phn = document.getElementById('txtPhn');
    //comparing pressed keycodes
    if ((keycode < 48 || keycode > 57)) {
        return false;
    } else {
        if (phn.value.length < 6) {
            return true;
        } else {
            return false;
        }
    }
}

编辑:

var txtBudget = document.getElementById('MainContent_txtBudget');
    txtBudget.addEventListener('input', function (prev)
     {
        return function (evt) {
            if (!/^\d{0,6}(?:\.\d{0,2})?$/.test(this.value)) {
                this.value = prev;
            }
            else {
                prev = this.value;
            }
        };
    } (txtBudget.value), false);

最佳答案

你可以尝试这样的事情:

var foo = document.getElementById('foo');

foo.addEventListener('input', function (prev) {
    return function (evt) {
        if (!/^\d{0,6}(?:\.\d{0,2})?$/.test(this.value)) {
          this.value = prev;
        }
        else {
          prev = this.value;
        }
    };
}(foo.value), false);​

该代码不兼容跨浏览器,但它应该为您提供如何完成此操作的提示。

演示:http://jsfiddle.net/v4tGc/

<小时/>

更新:不使用input事件。

var foo = document.getElementById('foo');

foo.addEventListener('keypress', function (evt) {
    var value = this.value + String.fromCharCode(evt.which);
    if (!/^\d{0,6}(?:\.\d{0,2})?$/.test(value)) {
      evt.preventDefault();
    }
}, false);​

关于javascript - 使用 javascript 验证文本框中具有十进制值的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9908947/

相关文章:

javascript - 如何设置输入焦点?

java - Android - 当检查文本框长度是否大于或等于 1 并执行某些操作时,仅当字符长度为 3 或以上时才会执行

javascript - 我想使用 amount_t 属性添加这些金额。并显示在文本框中

c# - 使用 MVVM 时如何使 TextBox 成为 "password box"并显示星星?

javascript - 如何将 javascript textBox 值作为参数传递给 URL

javascript - IIS 是否存在 JavaScript 问题?

javascript - 如何使 Bootstrap 4 导航栏使用 Flexbox

javascript - 如何解决我的 javascript 文本验证问题

javascript - 将事件监听器添加到插入数组的 DOM 元素

python - 如何在 Python GUI 的文本框中添加用户可调整大小的图像