我需要不区分地比较字符串。
显而易见的答案是使用toUpperCase(), 但是当处理土耳其字符时,toUpperCase()会将其中一些独特字符更改为其他字符。
帮助。
仅供参考我正在比较英雄联盟用户名
答案 0 :(得分:1)
你可以使用这个自定义函数来大写土耳其字符
String.prototype.turkishToUpper = function () {
var string = this;
var letters = { "i": "İ", "ş": "Ş", "ğ": "Ğ", "ü": "Ü", "ö": "Ö", "ç": "Ç", "ı": "I" };
string = string.replace(/(([iışğüçö]))/g, function (letter) { return letters[letter]; })
return string.toUpperCase();
}
var turkishUpperCase = yourWord.turkishToUpper()
答案 1 :(得分:0)
您可以使用以下功能
String.prototype.turkishToUpper = function(){
var string = this;
var letters = { "i": "İ", "ş": "Ş", "ğ": "Ğ", "ü": "Ü", "ö": "Ö", "ç": "Ç", "ı": "I" };
string = string.replace(/(([iışğüçö]))+/g, function(letter){ return letters[letter]; })
return string.toUpperCase();
}
String.prototype.turkishToLower = function(){
var string = this;
var letters = { "İ": "i", "I": "ı", "Ş": "ş", "Ğ": "ğ", "Ü": "ü", "Ö": "ö", "Ç": "ç" };
string = string.replace(/(([İIŞĞÜÇÖ]))+/g, function(letter){ return letters[letter]; })
return string.toLowerCase();
}