如何突出显示段落中的日期?

时间:2014-09-03 01:11:55

标签: javascript jquery html css

我试图弄清楚如何使用(我假设)jQuery / Javascript选择一个段落中的日期(注意:所有日期,而不仅仅是特定日期)。

举一个例子,网站从数据库中获取一堆文本,并在该文本中包含以下格式的日期:(DD / MM / YYYY)。我只想强调每次出现,但我不确定如何,因为有时日期可能是2014年9月2日或2014年10月13日,所以我不能只搜索某个日期并突出它。

感谢任何帮助:)谢谢!

2 个答案:

答案 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>

希望这有帮助