我正在嘗試輸入文本字段的值並在正則表達式中使用它。這是我必須匹配一條線的開始。轉義正則表達式中的變量
regex = new RegExp('^' + inputValue, 'i')
它工作正常的定期的字符串開始有字母數字字符,但我用這爲美元數額爲好。當輸入字段以'$'(美元符號)開頭時,我會得到不同的結果。
我如何逃避上面的變量被視爲一個簡單的字符串?我已經試過這一點,但沒有運氣:
regex = new RegExp('^[' + inputValue + ']', 'i')
PHP有一個'preg_quote ',我不認爲JavaScript有一個。 PHP函數轉義'。 \ + *? [^] $(){} =! < > | :-',所以我想用他們的轉義版本'替換'這些。 – 2012-03-08 17:15:27
看看這個問題的答案http://stackoverflow.com/questions/3614440/replicate-the-functionality-of-javas-pattern-quote-in-a-javascript-regexp – Danny 2012-03-08 17:15:36
[This](http://也許是simonwillison.net/2006/Jan/20/escape/#p-6)。 – pimvdb 2012-03-08 17:15:49