2016-12-14 117 views
-1

我正在通过autosuggest和solr实现搜索技术。如何通过忽略特殊字符匹配一个字符串

我得到一堆有特殊字符的匹配字符串。例如,如果我搜索

jp 

返回的字符串包括:

jp, 
j p , 
j.p., 
j.p. nag, 
j-p-naga 

需要特别提出的所有字符串包含“JP”忽略特殊字符。

预期的输出,如:

“JP-纳迦” ---- “JP” 应该突出({}跨度JP {/跨度} -naga

+0

到目前为止你的代码是什么?你究竟想要突出什么? (“所有字符串包含”忽略特殊字符的jp“)请通过编辑改进您的问题。阅读https://stackoverflow.com/help/mcve –

+0

我的输入字符串是“jp”。那么输出是: jp ---高亮应该是“jp” j p ---高亮应该是“j p” j.p .----高亮应该是“j.p.” j.p.唠叨----高亮应该是“j.p” j-p-naga ---高亮显示应该是“j-p” –

+0

重申你不可理解的问题并不是一种澄清的方法。你需要找到一个更清晰的问题提问方式。再问一次并不是一种有效的技术。 – jwpfox

回答

0

你想消除特殊字符使用正常吗?表情:

function removeSpecials(str) { 
    return str.replace(/[^a-zA-Z0-9]/g, ''); 
} 

console.log('jp' === removeSpecials('j .$#@p#@')); 
console.log('jp' === removeSpecials('j.p.,'); 
// Both true 

或者,也许你想检查一个字符串包含后跟p字符j任何位置

function strHasJP(str) { return /[^j]*j[^p]*p.*/.test(str); } 

我不确定你在做什么。有关RegExp的帮助,请点击此处https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions