我正在寻找一个用javascript(而不是jquery)编写的函数,如果给定的单词完全匹配(应该不区分大小写),它将返回true。

喜欢..

var  searchOnstring=" Hi, how are doing?"

   if( searchText=='ho'){
    //output : false
   }

   if( searchText=='How'){
    //output : true
   }

谢谢。

最佳答案

您可以使用正则表达式:

\bhow\b

例:
/\bhow\b/i.test(searchOnstring);

如果要使用可变字词(例如,通过用户输入),则必须注意不要包含特殊的RegExp字符。

您必须对它们进行转义,例如使用MDN中提供的功能(向下滚动):
function escapeRegExp(string){
  return string.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1");
}

var regex = '\\b';
regex += escapeRegExp(yourDynamicString);
regex += '\\b';

new RegExp(regex, "i").test(searchOnstring);

09-25 17:17