如何只获取 javascript 中的数字?
How to get only number in javascript?
我有两个不同的号码,每个号码都有一个美元符号。我想分别得到这两个数字。
JavaScript:
function price_range(id){
//var str = $('#'+id).val();
var str = ' - 0';
var removeDollar = str.replace(/$/,'');
alert(removeDollar);
}
<a href="javascript:;" onclick="price_range('amount')">Click Here</a>
上面的代码只替换了第一个美元符号,但是我有两个带数字的美元符号。如何分别获得 75
和 300
?
你可以像这样从字符串中获取所有数字
console.log(' - 0'.match(/(\d+)/g));
# [ '75', '300' ]
注意:这个简单的 RegEx 将匹配并获取所有数字,即使字符串中的数字超过 2 个。但是对于这个简单的任务,您不需要复杂的 RegEx。
如果你想修复你的程序,你可以这样做
console.log(' - 0'.replace(/$/g, '').split(/\s*-\s*/));
# [ '75', '300' ]
replace(/$/g, '')
将替换字符串中的 $
符号,然后您可以根据 \s*-\s*
拆分字符串,这意味着零个或多个白色 space 字符,然后-
,然后是零个或多个白色 space 字符。
您可以扩展 .replace()
函数中的正则表达式以具有全局标志 g
:
str.replace(/$/g,'');
整个脚本将像这样工作,但将特定于删除 $ 符号。
function price_range(id){
//var str = $('#'+id).val();
var str = ' - 0';
var removeDollar = str.replace(/$/g,'');
alert(removeDollar);
}
<a href="javascript:;" onclick="price_range('amount')">Click Here</a>
一个选项是使用如下正则表达式提取数字:
var str = ' - 0 some other 500%';
var arrOfStrings = str.match(/\d+/gi);
// arrOfStrings = ['70', '300', '500']
var arrOfNrs = arrOfStrings.map(function (e) {
return parseInt(e);
}); // map not supported by all browsers. you can use the _.map from underscorejs.org
// arrOfNrs = [70, 300, 500]
我有两个不同的号码,每个号码都有一个美元符号。我想分别得到这两个数字。
JavaScript:
function price_range(id){
//var str = $('#'+id).val();
var str = ' - 0';
var removeDollar = str.replace(/$/,'');
alert(removeDollar);
}
<a href="javascript:;" onclick="price_range('amount')">Click Here</a>
上面的代码只替换了第一个美元符号,但是我有两个带数字的美元符号。如何分别获得 75
和 300
?
你可以像这样从字符串中获取所有数字
console.log(' - 0'.match(/(\d+)/g));
# [ '75', '300' ]
注意:这个简单的 RegEx 将匹配并获取所有数字,即使字符串中的数字超过 2 个。但是对于这个简单的任务,您不需要复杂的 RegEx。
如果你想修复你的程序,你可以这样做
console.log(' - 0'.replace(/$/g, '').split(/\s*-\s*/));
# [ '75', '300' ]
replace(/$/g, '')
将替换字符串中的 $
符号,然后您可以根据 \s*-\s*
拆分字符串,这意味着零个或多个白色 space 字符,然后-
,然后是零个或多个白色 space 字符。
您可以扩展 .replace()
函数中的正则表达式以具有全局标志 g
:
str.replace(/$/g,'');
整个脚本将像这样工作,但将特定于删除 $ 符号。
function price_range(id){
//var str = $('#'+id).val();
var str = ' - 0';
var removeDollar = str.replace(/$/g,'');
alert(removeDollar);
}
<a href="javascript:;" onclick="price_range('amount')">Click Here</a>
一个选项是使用如下正则表达式提取数字:
var str = ' - 0 some other 500%';
var arrOfStrings = str.match(/\d+/gi);
// arrOfStrings = ['70', '300', '500']
var arrOfNrs = arrOfStrings.map(function (e) {
return parseInt(e);
}); // map not supported by all browsers. you can use the _.map from underscorejs.org
// arrOfNrs = [70, 300, 500]