2015-03-13 46 views
1

你好,我有一個腳本,我有一個textarea元描述,我有一個輸入文本字段,我把關鍵字。然後,我打印的比賽,我到目前爲止做出這個腳本:在比賽中使用字符串

var countDescription = tinymce.get('myTextEditor').getContent(); 
var count = (countDescription.match(/is/g) || []).length; 

而且它的偉大工程,但我的問題是,而不是字匹配「是」我希望它符合我的字符串「U」

我已經試過類似:

var count = (countDescription.match("/" +u, "/g") || []).length; 

但它確實不工作..

希望有人能幫助我。

+0

我不明白你的嘗試背後是什麼原因。 – elclanrs 2015-03-13 08:39:18

+0

我假設'u'是一個變量,因此是重複的,但是你寫了**字符串**'u',如果它只是一個字符串,應該很明顯'countDescription.match(/ u/g)'匹配文字'u'? – adeneo 2015-03-13 08:41:43

+0

它的一個字符串。例如你可能是服務,寶石,支持,關於我們,等等 – 2015-03-13 08:45:48

回答

0

您需要使用RecExp對象的位置:

var count = (countDescription.match(new RegExp(u, 'g')) || []).length; 

當變量u包含要匹配的字符串。

PS:請確保u沒有任何特殊的正則表達式元字符。否則,你將需要逃避它們。

+1

謝謝你的工作太棒了!很簡單,我一直在使用這個日子。非常感謝! – 2015-03-13 08:43:57

+0

有任何想法我如何做到這一點,所以它必須是一個詞本身? (如: var count =(countDescription.match(new RegExp('\ b'+ u +'\ b','g'))|| [])。length; – 2015-03-13 08:51:26

+0

很抱歉,回覆遲了,剛回來網上。它會是:'countDescription.match(new RegExp(「\\ b」+ u +「\\ b」,'g'))' – anubhava 2015-03-13 09:56:06