string.search()忽略重音字符?

lis*_*aro 1 javascript regex

我需要将重音字符视为与非重音字符相同.这是我的代码:

var re = new RegExp(string, 'i');
if(target.search(re) == 0) { }
Run Code Online (Sandbox Code Playgroud)

它目前忽略了角色的情况,我如何忽略角色的重音?

jbr*_*rnd 5

我认为你必须首先删除重音,然后执行你的RegExp.
你可以使用我在这里找到的这个功能:

function stripVowelAccent(str)
{
 var rExps=[
 {re:/[\xC0-\xC6]/g, ch:'A'},
 {re:/[\xE0-\xE6]/g, ch:'a'},
 {re:/[\xC8-\xCB]/g, ch:'E'},
 {re:/[\xE8-\xEB]/g, ch:'e'},
 {re:/[\xCC-\xCF]/g, ch:'I'},
 {re:/[\xEC-\xEF]/g, ch:'i'},
 {re:/[\xD2-\xD6]/g, ch:'O'},
 {re:/[\xF2-\xF6]/g, ch:'o'},
 {re:/[\xD9-\xDC]/g, ch:'U'},
 {re:/[\xF9-\xFC]/g, ch:'u'},
 {re:/[\xD1]/g, ch:'N'},
 {re:/[\xF1]/g, ch:'n'} ];

 for(var i=0, len=rExps.length; i<len; i++)
  str=str.replace(rExps[i].re, rExps[i].ch);

 return str;
}
Run Code Online (Sandbox Code Playgroud)