這是我的代碼中的功能的第一部分:我該如何解決這個正則表達式函數?
var pattern = new RegExp(myTypedString,"gi");
的目標是我在文本字段中鍵入填充的效果。每次輸入事件通過字符串數組觸發我環路和檢查,如果在我使用此代碼字符串數組存在我輸入字符串:
return pattern.test(myArrayString);
但幸運的是我已經意識到,其中一個結果是錯誤的,它只發生在這種特殊情況下:當我輸入「t」或「T」時,我沒有在「特拉法加廣場」(來自myArrayString的字符串)中匹配,所以我在控制檯中進行了一些調試,檢查變量模式做console.log(pattern)
它輸出這個字符串:/t/gi
,我認爲這是我的問題依賴...(在此後)
當我試圖複製問題類型:
var pattern = new RegExp('t',"gi")
和:
pattern.test('Trafalgar Square')
,給了我true
在第一次嘗試,但是...如果我再次鍵入此:
pattern.test('Trafalgar Square')
結果將是false
,如果我繼續,true
,false
,true
,false
,...
我想到的第一件事情之一是/t
在正則表達式/t/gi
可能是一個規則,但我無法找到任何有關它。
我想知道對這個意外結果的解釋,但是我也擔心我的功能並不完美,所以我問你我該如何改進這個功能?謝謝
我更新了我的代碼,我打算使用'test',但是我用'lastIndex'來匹配。 – bfontaine
你知道嗎,我使用比賽是錯誤的。這是最好的方法!我刪除了我之前的評論,不讓任何人被我的錯誤所迷惑:) – w3jimmy