仅返回字符串

时间:2015-06-02 22:04:36

标签: javascript

我在Javascript中有一个值为

var input = "Rs. 6,67,000"

我怎样才能得到数值?

结果: 667000

当前方法(不工作)

var input = "Rs. 6,67,000";
var res = str.replace("Rs. ", "").replace(",","");
alert(res);

Result: 667,000

9 个答案:

答案 0 :(得分:18)

这对于正则表达式非常有用。

    var str = "Rs. 6,67,000";
    var res = str.replace(/\D/g, "");
    alert(res); // 667000

\D匹配数字的字符。所以任何非数字都被空字符串替换。结果只是字符串中的数字。

正则表达式文字末尾的g用于“全局”,意味着它替换所有匹配,而不仅仅是第一个匹配。

此方法适用于各种输入格式,因此如果"Rs."稍后变为其他内容,则此代码不会中断。

答案 1 :(得分:2)

您可以使用

str.replace('Rs. ', '').replace(/,/g, '');

str.replace(/Rs. |,/g, '');
  • /,/g是正则表达式。 g表示global
  • /Rs. |,/g是一个正则表达式,可以匹配Rs.,
  • 的每个出现次数

答案 2 :(得分:1)

你真的很亲密。更改您的替换以使用g标志,该标志将替换所有。

str.replace("Rs. ", "").replace(/,/g,"");

答案 3 :(得分:1)

对于这项任务,最简单的方法是使用正则表达式:)

var res = input.replace(/\D/g,'');

您可以在此处找到有关如何使用正则表达式的更多信息:

https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions

我希望它有所帮助:)。

此致

答案 4 :(得分:1)

试试这个

var input = "Rs. 6,67,000";
var res = input.replace(/Rs. |,/g, '');
alert(res);

JsFiddle

谢谢,

SuperCoder

答案 5 :(得分:1)

如果您偶然需要逗号,则可以使用以下代码:

var input = "Rs. 6,67,000"
const numbers = str.match(/(\d|,)+/g).pop();

// 6,67,000

答案 6 :(得分:1)

您可以创建这样的功能

function justNumbers(string) {
  var numsStr = string.replace(/[^0-9]/g, '');
  return parseInt(numsStr);
}

var input = "Rs. 6,67,000";
var number = justNumbers(input);
console.log(number); // 667000

答案 7 :(得分:0)

var input = "Rs. 6,67,000";

input = input.replace("Rs. ", "");

//loop through string and replace all commas
while (input.indexOf(",") !== -1) {
    input = input.replace(",","");
}

答案 8 :(得分:0)

试试这个



var input = "ds. 7,765,000";
var cleantxt = input.replace(/^\D+/g, '');
var output = cleantxt.replace(/\,/g, "");
alert(output);