我正在使用 Jquery Chosen 插件(http://harvesthq.github.com/chosen/)
我需要所选插件的土耳其语支持。当我搜索“izmir”时,它显示“没有结果匹配”,因为“i”是小写的,而我的文本是“İzmir”。
我怎么解决这个问题?
我正在使用 Jquery Chosen 插件(http://harvesthq.github.com/chosen/)
我需要所选插件的土耳其语支持。当我搜索“izmir”时,它显示“没有结果匹配”,因为“i”是小写的,而我的文本是“İzmir”。
我怎么解决这个问题?
i
并且İ
是在 Regex 中不相关的不同 Unicode 值,例如 latini
和I
. 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 支持)运行的匹配,如果您不想/有时间实现自己的代码,您可以放弃支持。