如何在javascript中只获取数字?

如何在javascript中只获取数字?,javascript,regex,string,replace,Javascript,Regex,String,Replace,我有两个不同的数字,每个数字都有一个美元符号。我想分别得到这两个数字 JavaScript: 功能价格\范围(id){ //var str=$('#'+id).val(); var str='$75-$300'; var removeDollar=str.replace(/\$/,''); 警报(远程警报); } 您可以从字符串中获取所有数字,如下所示 console.log('$75 - $300'.match(/(\d+)/g)); # [ '75', '300' ] console.l

我有两个不同的数字,每个数字都有一个美元符号。我想分别得到这两个数字

JavaScript:

功能价格\范围(id){
//var str=$('#'+id).val();
var str='$75-$300';
var removeDollar=str.replace(/\$/,'');
警报(远程警报);
}

您可以从字符串中获取所有数字,如下所示

console.log('$75 - $300'.match(/(\d+)/g));
# [ '75', '300' ]
console.log('$75 - $300'.replace(/\$/g, '').split(/\s*-\s*/));
# [ '75', '300' ]
注意:这个简单的正则表达式将匹配并获取所有数字,即使字符串中有两个以上的数字。但是对于这个简单的任务,您不需要复杂的正则表达式

如果你想修复你的程序,你可以这样做

console.log('$75 - $300'.match(/(\d+)/g));
# [ '75', '300' ]
console.log('$75 - $300'.replace(/\$/g, '').split(/\s*-\s*/));
# [ '75', '300' ]

replace(/\$/g,”)
将替换字符串中的
$
符号,然后可以基于
\s*-\s*
拆分字符串,这意味着零个或多个空格字符,后跟
-
,后跟零个或多个空格字符。

可以扩展
.replace()中的正则表达式
具有全局标志的函数
g

str.replace(/\$/g,'');
整个脚本的工作原理是这样的,但具体是删除$sign

功能价格\范围(id){
//var str=$('#'+id).val();
var str='$75-$300';
var removeDollar=str.replace(/\$/g');
警报(远程警报);
}

一个选项是使用如下正则表达式提取数字:

var str = '$70 - $300 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]

咕噜咕噜。。。谢谢……)Map将函数作为参数:var arrOfNrs=arrOfStrings.Map(parseInt);不起作用,因为
parseInt
radix
作为第二个参数,而
map
将数组元素的索引指定为
radix
,这将产生无效结果。所以基本上它会给出第一个元素(idx:0)和第十一个元素(idx:10)的正确结果。我不怎么使用JavaScript。不要理会我的评论。