与javascript中的排序规则进行字符串比较

时间:2010-04-14 02:11:05

标签: javascript regex unicode internationalization localization

我使用jquery.autocomplete,它使用javascript regexp突出显示与自动完成密钥字符串匹配的建议列表中的子字符串。因此,如果使用类型“Beat”和服务器返回的其中一个自动完成建议是“The Beatles”,那么插件会将该建议显示为“ Beat les”。

我正在尝试使用对重音符号,变音符号和其他符号不敏感的字符串匹配来实现此方法。因此,如果用户键入“Huske”并且服务器建议“HüskerDü”,那么这将显示为“HüskerDü”。

原则与指定排序规则的字符串比较相同,例如在MySql或ICU中,或与Oracle的排序相同。在SphinxSearch中,charset_table适用于此。像utf8_general_ci这样的归类对我来说是理想的。

1 个答案:

答案 0 :(得分:0)

我唯一能想到的就是蛮力。如果已知输入字符串中的任何字符具有一个或多个重音形式,请在创建正则表达式时将其替换为包含所有形式的字符类。例如,对于输入字符串Huske,正则表达式可能是/H[uùúûü]sk[eèéêë]/