接着我问的另一个问题,我似乎真的没有取得任何进展。由于我的无能。我选择了这些人的回答,因为他回答了我的问题。
我正在收集我没有问正确的问题因为我不知道该怎么做..
所以问题是我有输入元素。保持简单;
<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/