javascript - 将输入限制为数字和 。在输入字段

标签 javascript html forms

接着我问的另一个问题,我似乎真的没有取得任何进展。由于我的无能。我选择了这些人的回答,因为他回答了我的问题。

我正在收集我没有问正确的问题因为我不知道该怎么做..

所以问题是我有输入元素。保持简单;

<input type="text" maxlength="12" name="price" id="price" class="foo">

我希望用户在该价格的任何位置都只能输入数字和一个句点 (.)。所以可能是 3.00 或 300.00 或 3000

有人能帮帮我吗,我要睁大眼睛了。

较早的问题在这里 Quick regex with alert

最佳答案

您可以在输入的 change 事件中检查数字格式是否正确。此代码将尝试获取数字并删除任何其他内容:(我假设您使用 jQuery,如果没有,请使用)

$('#price').change(function() {
    $(this).val($(this).val().match(/\d*\.?\d+/));
});

看到它工作 here .

编辑:如果您没有 jQuery,此代码的作用相同(至少在 Chrome 中):

document.getElementById('price').onchange = function() {
    this.value = this.value.match(/\d*\.?\d+/);
};

编辑 2:不确定我是否遵循,但您也可以添加此内容以防止 change 事件之前的字母和其他字符:

$('#price').keypress(function(event) {
    var code = (event.keyCode ? event.keyCode : event.which);
    if (!(
            (code >= 48 && code <= 57) //numbers
            || (code == 46) //period
        )
        || (code == 46 && $(this).val().indexOf('.') != -1)
       )
        event.preventDefault();
});

关于javascript - 将输入限制为数字和 。在输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8936018/

相关文章:

javascript - 在 API 帖子中注册用户时设置电子邮件和用户名的多重验证

html - 只能在文本的上半部分单击按钮/超链接

Django 表单重新加载数据

php - 即使用户一次又一次地输入同一封电子邮件,代码也不会停止提交表单

javascript - 有没有办法使页面内的所有链接平滑滚动?

javascript - 将 CSS 样式应用于基于祖先类的子项

javascript - 创建一个下拉搜索表单

html - 如何使一个div垂直居中到父div

javascript - 如何停止提交并提醒用户用JS选择的问题少于10个问题

javascript - 在 rxjs 中使用 .map() 添加属性