只返回字符串中的数字

新手上路,请多包涵

我在 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

原文由 priyanka.sarkar 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 347
2 个回答

这是正则表达式的一个很好的用途。

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

\D 匹配一个 不是 数字的字符。因此,任何非数字都将替换为空字符串。结果只是字符串中的数字。

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

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

原文由 Alex Wayne 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题