我有一个通过html表动态搜索的脚本。见example here。它工作正常,但如果用户在搜索字段中输入“aa”,我希望显示带有字母“å”的<tr>
。反之亦然。 ('å'相当于'aa','aa'相当于'å'。
我想避免在标记中隐藏文本,而是在脚本中处理替代拼写。我想这可以通过创建某种特殊字符映射来完成 - 我只是不知道如何做到这一点。
有人有任何想法吗?
答案 0 :(得分:3)
我更新了你的代码。你可以尝试这样的事情:
var val = $(this).val().replace(/\w\w/g, function(c) {
return {
"AA" : "AA|Å",
"aa" : "aa|å"
}[c] || c;
});
更新正则表达式以替换为aa或å
请参阅更新的修补程序:http://tinker.io/b04e6/13
使用替换功能。您可以在函数
中映射所需的字符答案 1 :(得分:3)
您需要做的是将正则表达式/ aa /替换为/((å)|(aa))/。
这里有一些代码可以处理你的替换,它正在创建一个正则表达式来生成正则表达式......
var replace = [['å','aa'], ['ß','ss']];
for (var i=0;i<replace.length;i++){
var r = replace[i];
var reg = new RegExp('(('+r[0]+')|('+r[1]+'))');
inputVal = inputVal.replace(reg, '(('+r[0]+')|('+r[1]+'))');
}
或者在这里看到它... http://tinker.io/b04e6/9