我试图从下面的例子中的文本中获取一个变量号是文本。
Koop 5 voor € 16,00 p/s en bespaar 11%
Koop 50 voor € 15,00 p/s en bespaar 17%
Koop 120 voor € 13,00 p/s en bespaar 28%
Koop 1000 voor € 10,00 p/s en bespaar 45%
这意味着Buy X for $Y each and save Z%
我需要使用jQuery或Javascript来删除此文本中的X.
下面是代码,用于从A标记中获取文本
$(function(){
$('.link').click(function() {
$("#input-field").val($(this).html());
});
});
和示例a标签和输入字段:
<input id="input-field" type="text">
<a href="#" class="link">koop 10 voor 10 p.s.<a>
<a href="#" class="link">koop 110 voor 9 p.s<a>
<a href="#" class="link">koop 950 voor 7 p.s<a>
答案 0 :(得分:7)
使用正则表达式,您可以这样做:
$("#input-field").val( $(this).html().match(/\d+/)[0] );
...也就是说,使用/\d+/
选择字符串中的第一个或多个数字,其中.match()
返回一个数组,因此您需要获取数组中的第一个(也是唯一的)元素。
或者您可以使用.split()
:
$("#input-field").val( $(this).html().split(" ")[1] );
即,选择第二个“单词”(在您的情况下为数字)。
演示:http://jsfiddle.net/WnruN/1/
请注意,如果通过添加g
标志 - /\d+/g
使全局正则表达式全局 - 那么.match()
将返回输入字符串中所有数字的数组:{{3 (如果你想允许带有逗号的数字,就像你在第一个例子中那样使用/[\d,]+/g
:http://jsfiddle.net/WnruN/2/)
答案 1 :(得分:5)
你可以试试这个。
var temp=$(".link").split(" ");
alert(temp[1]); //it will give you 5 or 50 or 120 or 1000
如果您需要进一步的帮助,请与我们联系。