我有一个Greasemonkey脚本可以打印div - 作品!但是,我希望能够为此div中的所有日期添加粗体标记。
日期格式为MM / DD / YYYY
类似于:
var regex = '\d{2}\/\d{2}\/\d{4}';
然后我将如何执行搜索替换?如果div被称为loanTable
:
非工作概念:
$("#loanTable").html().replace( regex, "<b>" regex "</b>" )
上述内容应该有效,但我不确定这个的确切语法。
答案 0 :(得分:1)
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>" )