Javascript jQuery中的正则表达式:括号内的数字
是否可以使用正则表达式从字符串中获取括号内的数字? 例如,我选择了以下内容:Javascript jQuery中的正则表达式:括号内的数字,javascript,jquery,regex,Javascript,Jquery,Regex,是否可以使用正则表达式从字符串中获取括号内的数字? 例如,我选择了以下内容: <select class="selectoption"> <option value="1">no numbers</option> <option value="2">3 (+110.0 грн.)</option> <option value="3">Blabla (+95.5 грн.)</option>
<select class="selectoption">
<option value="1">no numbers</option>
<option value="2">3 (+110.0 грн.)</option>
<option value="3">Blabla (+95.5 грн.)</option>
</select>
但它返回+110.0ΓБа: Match返回在regexp中定义的字符组数组。 您可以使用replace代替match
$("select option:selected").text().replace(/^(.*)\([^\)\d]*(\d+\.\d+)[^\)\d]*\)$/, '$2')
Match返回在regexp中定义的字符组数组。 您可以使用replace代替match
$("select option:selected").text().replace(/^(.*)\([^\)\d]*(\d+\.\d+)[^\)\d]*\)$/, '$2')
应该是这样的:
$('form').on('change', '.selectoption', function() {
var content = $('option:selected', this).text(),
matches = content.match(/\([^\d]*(\d+(\.\d*)?)/);
if (matches.length) {
alert(matches[1]);
}
});
窗体是.selectoption父项之一,如果选择器不正确,请更改它
如果您不需要授权,您可以使用:
$('.selectoption').on('change', function() {
正如您在编辑时所做的那样。它的工作原理是一样的:
应该是这样的:
$('form').on('change', '.selectoption', function() {
var content = $('option:selected', this).text(),
matches = content.match(/\([^\d]*(\d+(\.\d*)?)/);
if (matches.length) {
alert(matches[1]);
}
});
窗体是.selectoption父项之一,如果选择器不正确,请更改它
如果您不需要授权,您可以使用:
$('.selectoption').on('change', function() {
正如您在编辑时所做的那样。它的工作原理是一样的:
尝试:
尝试:
live已被弃用。让你知道。live已被弃用。让你知道,谢谢。。。我不熟悉正则表达式。它返回+110.0Γра,但我不需要+和`Γаа`:谢谢。。。我不熟悉正则表达式。它返回+110.0Γра,但我不需要+和'Γаа!':谢谢!但还有一件事+100 грн. => 100,但+99.5ГПа=>99不带.5:[这就是它的作用。看看我添加的代码示例。除非你想保留分数?修正了它也带分数。现在就可以了!不幸的是,我不能接受更多的答案,但这是一个很好的变体,谢谢!谢谢!但还有一件事…+100Γа=>100,但+99.5Γа=>99不带.5:-[这就是它的作用。看看我添加的代码示例。除非你想保留分数?修复它以获取分数。现在就可以了!不幸的是,我不能接受更多的答案,但这是一个很好的变体,谢谢!+1,我会发布/\\d*\d+:\。\d+\d*\/作为答案,但你的正则表达式看起来更干净。+1,我会发布/\\d*\d+:\。\d+\d*/作为答案你的正则表达式看起来干净多了。