2

divを出力するGreasemonkeyスクリプトがあります-動作します!ただし、このdivのすべての日付に太字のタグを追加できるようにしたいと思います。

日付はMM/DD/YYYYの形式です

だから次のようなもの:

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

次に、検索置換をどのように実行しますか?divが呼び出された場合loanTable

動作しない概念:

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

上記のようなものは機能するはずですが、これの正確な構文はわかりません。

4

4 に答える 4

2

正規表現キャプチャグループを使用します。

var loanTable   = $("#loanTable")
var loanHTML    = loanTable.html ().replace (/(\d{2}\/\d{2}\/\d{4})/g, "<b>$1</b>");
loanTable.html (loanHTML);
于 2012-05-08T23:37:12.590 に答える
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
于 2012-05-08T23:38:41.490 に答える
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>");
于 2012-05-09T00:12:34.203 に答える
0

+これの1つの小さな側面:文字列を演算子で連結する必要があります:

$("#loanTable").html().replace( regex, "<b>" + regex + "</b>" )
于 2012-05-08T23:41:03.707 に答える