如何在javascript中只获取数字?
我有两个不同的数字,每个数字都有一个美元符号。我想分别得到这两个数字 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
功能价格\范围(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。不要理会我的评论。