Próbuję pobrać wartość z pola tekstowego wejściowego i użyć go w wyrażeniu regularnym. Oto, co muszę dopasować do początku linii.Ucieknij zmiennej w wyrażeniu regularnym
regex = new RegExp('^' + inputValue, 'i')
To działa dobrze dla zwykłych strun, które zaczynają mieć znaków alfanumerycznych, ale używam tego dla kwot w dolarach, jak również. Gdy pole wejściowe zaczyna się od znaku "$" (znak dolara), uzyskuję różne wyniki.
Jak mogę uciec powyższej zmiennej, aby być postrzeganym jako prosty ciąg? Próbowałem, ale bez powodzenia:
regex = new RegExp('^[' + inputValue + ']', 'i')
PHP 'preg_quote ', Nie sądzę, JavaScript ma jeden. Funkcja PHP ucieka '. \ + *? [^] $() {} =! < > | : -', więc myślę, że po prostu "zamień" te z ich wersjami ucieczkowymi. –
Spójrz na odpowiedź w tym pytaniu http://stackoverflow.com/questions/3614440/replicate-functionality-of-javas-pattern-quote-in-a-javascript-regexp – Danny
[This] (http: // simonwillison.net/2006/Jan/20/escape/#p-6). – pimvdb