仅返回字符串中的数字

pri*_*kar 6 javascript

我在Javascript中有一个值

var input = "Rs. 6,67,000"
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到数值?

结果: 667000

目前的方法(不工作)

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

Result: 667,000
Run Code Online (Sandbox Code Playgroud)

Ale*_*yne 26

这对正则表达式很有用.

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

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

g在正则表达式文本的结尾是"全球性",意味着它替换所有的比赛,而不仅仅是第一.

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

  • @ed1nh0 `'123'.split('') //=> ['1', '2', '3']` (2认同)

小智 7

你可以做一个这样的函数

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
Run Code Online (Sandbox Code Playgroud)


Adr*_*ski 5

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

var input = "Rs. 6,67,000";
var res = input.replace(/\D/g,'');
console.log(res); // 667000
Run Code Online (Sandbox Code Playgroud)

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

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

我希望它有帮助:)

问候