不能使用 i 字母来搜索以大写 i 字母开头的单词
Can not use i letter to search bring words start with capital i letter
我正在处理包含土耳其语字符的搜索页面,问题是小写字母 i 当用户输入 i 时,由于某些代码 (toUpperCase) 导致它不会带来以 İ(土耳其语中的大写 i)开头的单词我(英文大写)
我尝试实现自己的大写函数而不是使用 toUpperCase 但没有成功。
return this.options.filter(item => {
// this.search = this.search.charAt(0).toUpperCase() + name.slice(1)
return this.capitalize(item.name).indexOf(self.search.toUpperCase()) !== -1
// return item.name.toUpperCase().indexOf(this.search.toUpperCase()) !== -1 // this is the original line that works except for letter i
})
这些是我自定义的大写函数
capitalize1 (s) {
return s.charAt(0).replace('i', 'İ')
return s.charAt(0).replace('ı', 'I')
return s.charAt(0).replace('ü', 'Ü')
return s.charAt(0).replace('a', 'A')
return s.charAt(0).replace('b', 'c')
},
capitalize(search) {
if (search.substring(0,1) === 'i') {
search = search.replace('i', 'İ')
// search = this.capitalize1(self.search)
return search
} else {
var firstChar = search.charCodeAt(0);
if (firstChar >= 97 && firstChar <= 122) {
return String.fromCharCode(firstChar - 32) + word.substr(1);
}
return search;
}
}
我希望它带来以大写字母 i (İ) 开头的单词,但不带来或不带来任何东西等(使用我的自定义大写函数)
要达到预期结果,请使用 toLocaleUpperCase
请参阅此 link 以获取来自 MDN 的更多详细信息- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLocaleUpperCase
语法:
string.toLocaleUpperCase('TR')
我正在处理包含土耳其语字符的搜索页面,问题是小写字母 i 当用户输入 i 时,由于某些代码 (toUpperCase) 导致它不会带来以 İ(土耳其语中的大写 i)开头的单词我(英文大写)
我尝试实现自己的大写函数而不是使用 toUpperCase 但没有成功。
return this.options.filter(item => {
// this.search = this.search.charAt(0).toUpperCase() + name.slice(1)
return this.capitalize(item.name).indexOf(self.search.toUpperCase()) !== -1
// return item.name.toUpperCase().indexOf(this.search.toUpperCase()) !== -1 // this is the original line that works except for letter i
})
这些是我自定义的大写函数
capitalize1 (s) {
return s.charAt(0).replace('i', 'İ')
return s.charAt(0).replace('ı', 'I')
return s.charAt(0).replace('ü', 'Ü')
return s.charAt(0).replace('a', 'A')
return s.charAt(0).replace('b', 'c')
},
capitalize(search) {
if (search.substring(0,1) === 'i') {
search = search.replace('i', 'İ')
// search = this.capitalize1(self.search)
return search
} else {
var firstChar = search.charCodeAt(0);
if (firstChar >= 97 && firstChar <= 122) {
return String.fromCharCode(firstChar - 32) + word.substr(1);
}
return search;
}
}
我希望它带来以大写字母 i (İ) 开头的单词,但不带来或不带来任何东西等(使用我的自定义大写函数)
要达到预期结果,请使用 toLocaleUpperCase
请参阅此 link 以获取来自 MDN 的更多详细信息- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLocaleUpperCase
语法:
string.toLocaleUpperCase('TR')