限制文本框中只能输入数字(+,-)的正则表达式写法

最近由于项目要求,要限制文本框中只能输入数字,在网上翻查了许多资料,但符合项目实际要求的比较少。
据分析总结得以下代码,经测试在IE6.0+,ff,chrome下有效:

<input type="text" class="number" o_value=""/>
$("input.number").live("keyup paste blur", function() {
    //1.该方法不能识别"+""-",并管制多个小数点的输入。
    //this.value = this.value.replace(/[^\d\.]+?$/g, '');

    //2.使用匹配比较:
    if (this.value.match(/^[+|-]{0,1}(\d*)\.{0,1}\d{0,}$/)) {
        this.o_value = this.value; //记录最近一次"合法"数字
    }
    else {
        this.value = this.o_value == undefined ? "" : this.o_value; //还原上次记录的合法数字
    }
});




posted @ 2011-12-07 09:40  lenya  阅读(1102)  评论(0编辑  收藏  举报