2

PythonバージョンのWeb正規表現を実現したいのですが、テキストエリアで一致値を異なる色(黄色と青の切り替え)で強調表示する方法に問題が発生しました.http://regexpal. comですが、私は js の初心者で、彼のコードの意味を理解していませんでした。アドバイスをいただければ幸いです

代替テキスト

4

3 に答える 3

2

時間を節約するには、この要件に既存のライブラリを使用することを検討する必要があります。

ここから引用:

textarea 要素は HTML をレンダリングできないため、このプラグインを使用すると、textarea 要素内のテキストを強調表示できます。

jQuery ハイライトテキストエリア.

デモ: Codepen

使用法:

$context.highlightTextarea(options);
于 2016-05-21T14:26:52.090 に答える
1

preテキストエリアの上に要素があります。したがって、何かを入力すると、pre要素の入力がコピーされ、いくつかのフィルターが適用されます。

例えば:

<pre id="view"></pre>
<textarea id="code"></textarea>

入力する#codeと、値がコピーされ、フィルターが適用され、HTML が に追加されます#view

var code = document.getElementById("code");
var pre = document.getElementById("pre");
(code).onkeyup = function (){
    val = this.value;
    val = YourRegex(val);
    (pre).innerHTML = val;
};

YourRegexは、 に一致し、regex解析されたコンテンツを に返すメソッドpreであり、 の外観をカスタマイズできますtextarea(実際にはその上の要素です)。

function YourRegex(val)
{
    // This function add colors, bold, whatever you want.
    if (/bbcc/i.test("bbcc"))
        return "<b>" + val + "</b>";
}
于 2010-09-27T16:41:16.340 に答える
0

@BrunoLM のソリューションは優れていますが、慣れているよりも多くのハッキングが必要になる場合があります。興味がある場合 (および jQuery が既にスタックにある場合) は、次のプラグインを検討する価値があるかもしれません。

http://garysieling.github.io/jquery-highlighttextarea/

于 2013-12-21T00:02:24.477 に答える