2013-01-11 13 views

回答

2

iİ是不同的Unicode值,在正则表达式中与拉丁文iI不相关。选上的使用正则表达式来筛选结果:

regex = new RegExp(regexAnchor + searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 'i'); 
zregex = new RegExp(searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 'i'); 

(选自的GitHub上源)

根据regular-expressions.info JavaScript的正则表达式缺乏成熟的Unicode支持,所以我不认为它会匹配它无需额外的代码将İ转换为可以匹配的I。还有一个pull request也允许代码确定由服务器端库运行的匹配(具有更好的Unicode支持),如果您不想有时间实现自己的代码,则可以将其支持。