Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 搜索实现_Javascript_Html_Regex_Search - Fatal编程技术网

Javascript 搜索实现

Javascript 搜索实现,javascript,html,regex,search,Javascript,Html,Regex,Search,在我的网站上搜索是使用正则表达式实现的: RegExp(name, 'i') 其中“name”是输入块的值。 问题是点匹配任何字符,当我输入点时,搜索会给出错误的结果。如何更改正则表达式的模式以排除此问题 如果不希望允许某些正则表达式,则可以执行搜索/替换以转义这些值,例如变为\。 您需要在提示中澄清某些正则表达式将被视为文本。您应该创建一些正则转义符来转义所有元字符 我认为这个函数适合:(在中找到) 你用的是什么正则表达式?这里没有点。转义正则表达式如果你不想要正则表达式的功能,为什么要使用

在我的网站上搜索是使用正则表达式实现的:

RegExp(name, 'i')
其中“name”是输入块的值。
问题是点匹配任何字符,当我输入点时,搜索会给出错误的结果。如何更改正则表达式的模式以排除此问题

如果不希望允许某些正则表达式,则可以执行搜索/替换以转义这些值,例如
变为
\。


您需要在提示中澄清某些正则表达式将被视为文本。

您应该创建一些正则转义符来转义所有元字符

我认为这个函数适合:(在中找到)


你用的是什么正则表达式?这里没有点。转义正则表达式如果你不想要正则表达式的功能,为什么要使用正则表达式?我想,我没有正确解释。变量“name”可以是任何文本,包括字母、数字和标点符号。我希望正则表达式的工作方式是:如果搜索文本中有点,我希望它不被确定为正则表达式元字符(即除换行符以外的任何字符),而是作为普通点符号。当我自己设置reg exp模式(比如/\\./)时,我知道如何创建它,但我不知道如何将此模式添加到模式中,即通过“name”变量设置。
RegExp.escape= function(s) {
    return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&')
};