-1

我正在使用 Jquery Chosen 插件(http://harvesthq.github.com/chosen/

我需要所选插件的土耳其语支持。当我搜索“izmir”时,它显示“没有结果匹配”,因为“i”是小写的,而我的文本是“İzmir”。

我怎么解决这个问题?

4

1 回答 1

2

i并且İ是在 Regex 中不相关的不同 Unicode 值,例如 latiniI. Chosen 使用 Regex 过滤结果:

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

(来自 Chosen 在 github 上的源代码)

根据regular-expressions.info , javascript的RegExp缺乏复杂的Unicode支持,所以我认为如果没有额外的代码来转换可以匹配的代码,它不会匹配İI。还有一个拉取请求,它允许代码确定要由服务器端库(具有更好的 Unicode 支持)运行的匹配,如果您不想/有时间实现自己的代码,您可以放弃支持。

于 2013-01-11T02:44:25.170 回答