我试图弄清楚如何使用(我假设)jQuery / Javascript选择一个段落中的日期(注意:所有日期,而不仅仅是特定日期)。
举一个例子,网站从数据库中获取一堆文本,并在该文本中包含以下格式的日期:(DD / MM / YYYY)。我只想强调每次出现,但我不确定如何,因为有时日期可能是2014年9月2日或2014年10月13日,所以我不能只搜索某个日期并突出它。
感谢任何帮助:)谢谢!
答案 0 :(得分:1)
这是一个超级基本正则表达式,可以找到' datelike'数字系列:
\ d {1,2} / \ d {1,2} / \ d {4}
在此处试试:http://regexhero.net/tester/
使用某些文字,例如"这是2014年9月2日的正则表达英雄的一些文字。我认为在大多数情况下,它将适用于您在2014年9月3日所寻找的内容。"
事实上,这里有一些javascript可以使用(使用jquery):
http://jsfiddle.net/5z7bz4zm/2/
<div>
This is some text for the regex hero on 9/2/2014. I think for the most part it will work for what you are looking for on 9/3/2014.
</div>
$(document).ready(function() {
$("div").text($("div").text().replace(/\d{1,2}\/\d{1,2}\/\d{4}/, "<span>caught ya</span>"));
});
答案 1 :(得分:1)
我认为你可能正在寻找的是这样的。这是jsFiddle Example
$("div").html($("div").html().replace(/(\d{1,2}\/\d{1,2}\/\d{4})/gi, "<span style='background-color:yellow;'>$1</span>"));
以上相同的代码仅在不同的行上方便阅读。
$("div")
.html(
$("div")
.html()
.replace(/(\d{1,2}\/\d{1,2}\/\d{4})/gi,
"<span style='background-color:yellow;'>$1</span>"
)
);
首先,我们使用左右括号对regEx进行分组。现在可以将其作为参数$ 1引用。然后我们寻找我们正在寻找的模式(不要忘记在最后添加 gi ,以便您查找所有事件,而不仅仅是第一个。
然后我们用span标签替换我们的find,以便我们可以设置内容的样式,在这种情况下是黄色背景,我们仍然需要我们找到的日期,所以我们在$ 1中添加日期以将日期放在span标签内。 / p>
希望这有帮助