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, '\\$&')
};