jQuery删除除数字和小数点之外的所有字符

6
var price = "$23.03";
var newPrice = price.replace('$', '')

这可以正常工作,但价格也可能是这样的:
var price = "23.03 euros";

还有许多其他货币。

我是否可以只保留数字和小数点(.)?


2
这与jQuery有什么关系?这是纯JavaScript,没有使用jQuery库。 - John Dvorak
1
你尝试过什么?比如,你查阅了 replace 的文档吗? - John Dvorak
2个回答

33
var newPrice = price.replace(/[^0-9\.]/g, '');

无需使用jQuery。您还需要检查是否只有一个小数点,像这样:

var decimalPoints = newPrice.match(/\./g);

// Annoyingly you have to check for null before trying to
// count the number of matches.
if (decimalPoints && decimalPoints.length > 1) {
    // do whatever you do when input is invalid.
}

2
var newprice = price.replace( /\D+$/, '');

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接