Dev*_*per 3 javascript regex string replace
我有两个不同的数字,每个都有一个美元符号.我想分别得到这两个数字.
JavaScript的:
function price_range(id){
//var str = $('#'+id).val();
var str = '$75 - $300';
var removeDollar = str.replace(/\$/,'');
alert(removeDollar);
}Run Code Online (Sandbox Code Playgroud)
<a href="javascript:;" onclick="price_range('amount')">Click Here</a>Run Code Online (Sandbox Code Playgroud)
上面的代码只替换了第一个美元符号,但我有两个美元符号和数字.我怎样才能75和300独立?
你可以从字符串中获取所有数字,就像这样
console.log('$75 - $300'.match(/(\d+)/g));
# [ '75', '300' ]
Run Code Online (Sandbox Code Playgroud)
注意:这个简单的RegEx将匹配并获取所有数字,即使字符串中有超过2个数字.但是对于这个简单的任务,您不需要复杂的RegEx.
如果你想修复你的程序,你可以这样做
console.log('$75 - $300'.replace(/\$/g, '').split(/\s*-\s*/));
# [ '75', '300' ]
Run Code Online (Sandbox Code Playgroud)
replace(/\$/g, '')将替换$字符串中的符号,然后您可以基于分割字符串\s*-\s*,这意味着零个或多个空格字符,后跟-,然后是零个或多个空格字符.