使用Greasemonkey将粗体标签添加到页面上的日期?

时间:2012-05-08 23:16:12

标签: javascript jquery regex greasemonkey

我有一个Greasemonkey脚本可以打印div - 作品!但是,我希望能够为此div中的所有日期添加粗体标记。

日期格式为MM / DD / YYYY

类似于:

var regex = '\d{2}\/\d{2}\/\d{4}';

然后我将如何执行搜索替换?如果div被称为loanTable

非工作概念:

$("#loanTable").html().replace( regex, "<b>" regex "</b>" )

上述内容应该有效,但我不确定这个的确切语法。

4 个答案:

答案 0 :(得分:1)

使用regex capture group

var loanTable   = $("#loanTable")
var loanHTML    = loanTable.html ().replace (/(\d{2}\/\d{2}\/\d{4})/g, "<b>$1</b>");
loanTable.html (loanHTML);

答案 1 :(得分:1)

这段代码无效JS:

var regex = '\d{2}\/\d{2}\/\d{4}';
$("#loanTable").html().replace( regex, "<b>" regex "</b>" )

正则表达式的语法为/regex/,未引用,或带引号的new Regex('regex')

首先将html指定给变量。 <b>也几乎不再使用,<strong>是新标准。然后,replace()将正则表达式和字符串或函数作为参数。要多次替换,您必须使用g标志。最后,要完成您想要完成的任务,您可以使用替换标记,例如$1等...

var re = /\d{2}\/\d{2}\/\d{4}/g; // 'g' flag for 'global';
var html = $("#loanTable").html();

$("#loanTable").html(html.replace(re, '<strong>$&</strong>')); // The `$&` token returns the whole match

答案 2 :(得分:1)

上次我使用GreaseMonkey时,要在用户脚本中运行jQuery并不容易。

使用以下代码在没有jQuery的情况下执行此操作:

var loanTable = document.getElementById('loanTable');
loanTable.innerHTML = loanTable.innerHTML.replace(/(\d{1,2}\/\d{1,2}\/\d{4})/g, "<b>$1</b>");

答案 3 :(得分:0)

这方面的一个小方面:您需要使用+运算符连接字符串:

$("#loanTable").html().replace( regex, "<b>" + regex + "</b>" )