在List.js中使用非英语字符
Use non-english characters in List.js
我有一个用list.js库创建的特性列表。有没有什么方法可以让非英语字符和普通字符相匹配?例如,该列表包含以下元素:"șuncă"、"brânză'"、"mărar"。我很好奇,即使我在搜索时没有非英语字符,是否有办法找到这些元素,比如:"sunca"、"branza"、"marar"
使用filter()
API函数和助手函数将字符串中的重音字符替换为其基本版本。
助手功能
// generic accent removal from input string, add any missing characters
var removeAccents = (function () {
var letters1 = "äáàâăëéèêĕüúùûŭöóòôŏÄÁÀÂĂËÉÈÊĔÜÚÙÛŬÖÓÒÔŎßșȘ",
letters2 = "aaaaaeeeeeuuuuuoooooAAAAAEEEEEUUUUUOOOOOssS",
patternLetters = new RegExp("[" + letters1 + "]", "g"),
lookupLetters = {}, letterTranslator;
letters1.split("").forEach(function (letter, i) {
lookupLetters[letter] = letters2[i];
});
letterTranslator = function(match) {
return lookupLetters[match] || match;
};
return function removeAccents(input) {
return input.replace(patternLetters, letterTranslator);
};
})();
// creates a specific filter function for use in List.js
function getAccentInsensitiveFilter(property, search) {
search = removeAccents(search).toLowerCase();
return function (item) {
var value = removeAccents(item.values()[property] || "").toLowerCase();
return value.indexOf(search) > -1;
};
}
然后
// filter for "sunca" in the "featureName" property
yourList.filter(getAccentInsensitiveFilter("featureName", "șuncă"));
// remove filter
yourList.filter();
相关文章:
- 在JavaScript中输出转义字符
- 不同浏览器中的空白字符正则表达式行为
- Regex匹配除“”之外的所有字符;.js”;
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- 使用RegExp查找url中的字符
- 如何为jQuery屏蔽输入插件创建一个允许字母数字、空格和重音字符的掩码
- 使用正则表达式将输入格式设置为单字符逗号、单字符逗号等
- 允许在文本框中使用某些字符
- 在List.js中使用非英语字符
- 如何检查字符串是否包含非英语字符列表
- 如何在javascript中按正确的顺序连接波斯语字符和英语字符
- 用于使用 KNOCKOUTJS 验证输入文本框中非英语字符的自定义规则
- 如何在 HTML 文本区域中启用非英语字符的键入
- 如何排除特殊字符并允许西班牙语/英语字母
- Perl 和 HTML/JavaScript 中的特殊字符(非英语)
- 用javascript将俄语(unicode)字符转换为英语
- 如何在按键时转义特殊字符和非英语字符
- 如何在Javascript中验证包含非英语(UTF-8)字符的电子邮件地址
- javascript转义非英语以外的特殊字符
- 使用jquery为非英语字符创建单词搜索谜题