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

这可行,但价格也可以是:

var price = "23.03 euros";

和许多其他货币。

无论如何我只能留下数字和小数(。)?

4

2 回答 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.
}
于 2013-03-17T18:13:45.980 回答
2
var newprice = price.replace( /\D+$/, '');
于 2013-03-17T18:15:23.717 回答