0

我目前有这个...

sanitizeNumber = function ( dirtyNumber ){
    // remove any non-digits from the number
    return dirtyNumber.replace(/[^\d.]/g, "");
}

..但它似乎允许小数点通过。

除了 0 到 9 的数字之外,我怎样才能完全删除所有内容?

4

3 回答 3

2

你应该删除.之后\d

sanitizeNumber = function ( dirtyNumber ){
    // remove any non-digits from the number
    return dirtyNumber.replace(/\D/g, "");
}
于 2012-05-14T13:59:56.030 回答
1

删除.之后\d

dirtyNumber.replace(/[^\d]/g, "");
于 2012-05-14T13:59:08.803 回答
1

/\D/g抓住每个非数字字符。
\d- 一个数字
\D- 不是一个数字

sanitizeNumber = function ( dirtyNumber ){
    // remove any non-digits from the number
    return dirtyNumber.replace(/\D/g, "");
}

请注意,如果您想学习regex其他选项是:

return dirtyNumber.replace(/[^0-9]/g, "");
return dirtyNumber.replace(/[^\d]/g, "");
于 2012-05-14T13:59:17.180 回答