我正在尝试将土耳其语字符转换为可读的子弹。但是它失败并没有定义...
这里有什么问题?
HTML
<div id="converter">Fıstıkçı Şahap Çık Dışarı Dağlarda Oyna</div>
Js:
String.prototype.sluggable = function(){
var string = this;
var letters = {
"İ": "i",
"I": "i",
"ı": "i",
"Ş": "s",
"ş": "s",
"Ğ": "g",
"ğ": "g",
"Ü": "u",
"ü": "u",
"Ö": "o",
"ö": "o",
"Ç": "c",
"ç": "c"
};
string = string.replace(/([İIıŞşĞğÜüÇçÖö])+/g, function(letter){ return letters[letter]; });
return string.toLowerCase().replace(/([^a-zA-Z0-9])+/g, '_');
}
var $text = $('#converter').text();
$('#converter').text($text.sluggable());
演示:
http://jsfiddle.net/Fr8Nq/
最佳答案
将正则表达式更改为以下内容:
/[İIıŞşĞğÜüÇçÖö]/g
您不需要匹配字符序列,而是单独替换它们。
演示:http://jsfiddle.net/Fr8Nq/1/
关于javascript - Javascript创建土耳其语可拖拉,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24040127/