我在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); // 667000Run Code Online (Sandbox Code Playgroud)
\D匹配不是数字的字符.所以任何非数字都被空字符串替换.结果只是字符串中的数字.
将g在正则表达式文本的结尾是"全球性",意味着它替换所有的比赛,而不仅仅是第一.
这种方法适用于各种输入格式,因此如果"Rs."以后变为其他内容,则此代码不会中断.
小智 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); // 667000Run Code Online (Sandbox Code Playgroud)
对于此任务,最简单的方法是对我们使用正则表达式 :)
var input = "Rs. 6,67,000";
var res = input.replace(/\D/g,'');
console.log(res); // 667000Run Code Online (Sandbox Code Playgroud)
在这里您可以找到有关如何使用正则表达式的更多信息:
https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions
我希望它有帮助:)
问候
| 归档时间: |
|
| 查看次数: |
15483 次 |
| 最近记录: |