在javascript字符串中Sanatize类似regex的输入(第二个参数)。replace()
我希望在JavaScript中使用String.replace()函数将第一个字符串的特定部分替换为一些不确定的用户输入(第二个字符串) 例1:在javascript字符串中Sanatize类似regex的输入(第二个参数)。replace(),javascript,regex,Javascript,Regex,我希望在JavaScript中使用String.replace()函数将第一个字符串的特定部分替换为一些不确定的用户输入(第二个字符串) 例1: > var userinput = "^fancy $& regexlike stuff $/i" > "some @@include test".replace(/@@include/, userinput) "some ^fancy @@include regexlike stuff $/i test" 应该是 > va
> var userinput = "^fancy $& regexlike stuff $/i"
> "some @@include test".replace(/@@include/, userinput)
"some ^fancy @@include regexlike stuff $/i test"
应该是
> var userinput = "^fancy $& regexlike stuff $/i"
> "some @@include test".replace(/@@include/, userinput)
"some ^fancy $& regexlike stuff $/i test"
> var userinput = "^fancy &$ regexlike stuff $/i"
> "some @@include test".replace(/@@include/, userinput)
"some ^fancy &$ regexlike stuff $/i test"
例2:
> var userinput = "^fancy $& regexlike stuff $/i"
> "some @@include test".replace(/@@include/, userinput)
"some ^fancy & test"
应该是
> var userinput = "^fancy $& regexlike stuff $/i"
> "some @@include test".replace(/@@include/, userinput)
"some ^fancy $& regexlike stuff $/i test"
> var userinput = "^fancy &$ regexlike stuff $/i"
> "some @@include test".replace(/@@include/, userinput)
"some ^fancy &$ regexlike stuff $/i test"
所以这里是实际问题:
如何告诉String.replace()忽略其第二个参数userinput
中给出的所有正则表达式语法?有赛纳提兹旗吗
非常感谢您提前这么做 只需使用函数的函数语法即可。从函数返回的字符串被视为字符串。字符串中的特殊字符不被视为元字符
var userinput=“^fancy$®exlike stuff$/i”;
var output=“some@@include test”替换(/@@include/,()=>userinput);
控制台日志(输出)代码>简单地用反斜线将它作为角色来考虑……但是我需要用户这样做,或者首先通过自定义sanatize()函数提供输入。。已经想到了这一点,但与replace()上的“IsAnatized”标志相比,它似乎不舒服。请看