仅允许在文本框中键入数字和特殊字符( - )

时间:2017-06-03 20:31:43

标签: javascript

我需要只允许数字和特殊字符减去" - "要在文本框中键入,PLZ帮助我,我已经有一个数字限制,但也想减号。

提前致谢

<script>
function isNumber(evt) {
    evt = (evt) ? evt : window.event;
    var charCode = (evt.which) ? evt.which : evt.keyCode;
    if (charCode > 31 && (charCode < 48 || charCode > 57)) {
        return false;
    }
    return true;
}
</script>


<input type="text" class="textfield" value="" id="extra7" name="extra7" onkeypress="return isNumber(event)" />

2 个答案:

答案 0 :(得分:0)

这个正则表达式将检查数字和' - '。如果还有其他字符,则会被替换。

$('.input').keyup(function () {
    if (!this.value.match(/^(\d|-)+$/)) {
        this.value = this.value.replace(/[^0-9-]/g, '');
    }
});

没有jQuery版本:

<input type="text" class="textfield" value="" id="extra7" name="extra7" onkeyup="isNumber()" />

function isNumber() {
    var inputField = document.getElementById('extra7');
    if (!inputField.value.match(/^(\d|-)+$/)) {
        inputField.value = inputField.value.replace(/[^0-9-]/g, '');
    }
}

答案 1 :(得分:0)

添加size_hint_x是不够的。您还需要阻止接受无效的键输入。返回true / false仍然允许用户键入这些键,然后您的代码似乎什么都不做。

!=45

这样,只有有效的键输入才会出现在文本框中。