如何通过忽略特殊字符来匹配一个字符串

时间:2016-12-14 05:52:18

标签: javascript solr

我正在通过autosuggest和solr实现搜索技术。

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

jp 

返回的字符串包括:

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

我需要突出显示包含" jp"忽略特殊字符。

预期输出如:

" j-p-naga" ----" j-p"应突出显示({span} j-p {/ span} -naga

1 个答案:

答案 0 :(得分: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

或许你想检查一个字符串是否包含任何位置中的j后跟p的字符?

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

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