簡體   English   中英

JavaScript正則表達式忽略大小寫

[英]JavaScript Regex Ignore Case

我試圖匹配字符串的一部分,它應該不區分大小寫。 我有以下代碼,但我從來沒有得到替換的字符串。

var name = 'Mohammad Azam'
var result = name.replace('/' + searchText + '/gi', "<b>" + searchText + "</b>");

searchText變量將是“moha”或“mo”或“moh”。

如何以粗體標簽獲取匹配的內容。

/ pattern /在它作為文字輸入時有意義,而不是像你那樣構造字符串。 (我不是百分百肯定的。)

嘗試

var name = 'Mohammad Azam';
var searchText = 'moha';
var result = name.replace(new RegExp('(' + searchText + ')', 'gi'), "<b>$1</b>");
//result is <b>Moha</b>mmad Azam

編輯:

添加了上述代碼的演示頁面。

演示→

我想你正在尋找新的RegExp,它創建了一個動態的正則表達式 - 你現在要做的就是匹配一個字符串(不是正則表達式對象):

var name = 'Mohammad Azam', searchText='moha';

var result = name.replace(new RegExp(searchText, 'gi'), "" + searchText + ""); result

編輯:實際上,這可能是你正在尋找的,沒關系^

var name = 'Mohammad Azam', searchText='moha';
name.match( new RegExp( searchText , 'gi' ) )[0]
name // "Moha"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM