0

大文字と小文字を区別せずに文字列を検索したいのですが、サブ文字列を元の文字列の大文字と小文字に変更してください。

var mystring = "FiRst Last";
var term = "first";  // it could be "FIRST" or fIRST

var re = new RegExp("^" + term, "i") ;
//option 1
//var t = mystring.replace(re,"<span style='font-weight:bold; color:Blue;'>" + term + "</span>");
//option 2
var t = mystring.replace(re,term.bold().fontcolor("Blue"));

上記のコードは 最初のLASTを青色で表示しますが、mystringの大文字小文字の順序としてFiRstLASTにします

indexof()メソッドを使用できるかもしれませんが、簡単で効率的な方法があるかもしれません。

4

2 に答える 2

0

最初のオプションでキャプチャグループを使用するだけです

var str = "FiRst Last";
var term = "first";

var t = str.replace( /(first)/i, "<span style='font-weight:bold; color:Blue;'>$1</span>");

tに含まれるようになります

"<span style='font-weight:bold; color:Blue;'>FiRst</span> Last"
于 2012-12-12T11:26:50.977 に答える
0
var querystr = 'first';
var output = "FiRst Last";
var reg = new RegExp(querystr, 'gi');
var final_str = output.replace(reg, function(str) {return str.bold().fontcolor("Blue")});

この次のリンクを参照してください...

Javascript:元の大文字と小文字を保持しながら部分文字列を強調表示しますが、大文字と小文字を区別しないモードで検索します

user113716によって与えられた解決策は役立つかもしれません...

于 2012-12-12T11:28:10.483 に答える