在IE和Chrome中运行的代码在Firefox中不起作用

时间:2014-05-26 08:57:40

标签: javascript jquery regex html5

我创建了jQuery函数,只允许输入type=text中的数字和一个点。

适用于IE和Chrome,但不适用于Firefox。有人可以帮忙吗?

以下是代码:

$(document).ready(function () {
$(".inputbox").keypress(function (e) {

    //Allow only one point  
    if (String.fromCharCode(e.keyCode).match("[.]") && this.value.indexOf(".") != -1) {
        return false;
    }
    //Allow just numbers
    if (String.fromCharCode(e.keyCode).match(/[^0-9.]/g)) {
    return false;
    }

    return true;
});
});

1 个答案:

答案 0 :(得分:8)

问题不在正则表达式中,而在e.keyCode中。有些浏览器使用keyCode,有些浏览器使用e.which

jQuery handles this browser difference for you,确保e.which跨浏览器工作。