改进代码以清除除数字之外的任何内容的输入值

时间:2013-02-05 16:02:13

标签: jquery string performance

我正在使用以下代码清除其类包含.number的输入字段。我需要的值只包含数字,没有逗号,点或任何数字:

var numberEle = $(form).find('.number'); // check number fields
for(var i=0;i<numberEle.length;i++){
        var numValue = $(numberEle[i]).val()
        var numValue = numValue.replace(/\s/g,""); // removes spaces
        var numValue = numValue.replace(/\D/g,""); // leaves only numbers
        $(numberEle[i]).val(numValue);
}

上面的代码工作正常,但由于几个原因,它看起来像是没有正确编写,这意味着它可以更“干净”和更简单,任何帮助?

1 个答案:

答案 0 :(得分:2)

这应该这样做:

$(form).find('.number').val(function() {
    return this.value.replace(/[\s\D]/g, '');
});

http://jsfiddle.net/4hrqq/