<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Metin Düzenleme</title>
</head>
<body>
<textarea id="girisMetni" rows="4" cols="50"></textarea><br>
<button onclick="duzeltilmisMetniGoster()">Metni Düzelt</button><br>
<p id="duzeltilmisMetin"></p>
<script>
function duzeltilmisMetniGoster() {
var girisMetni = document.getElementById("girisMetni").value;
var duzeltilmis = duzeltilmisMetin(girisMetni);
document.getElementById("duzeltilmisMetin").innerHTML = duzeltilmis;
}
function duzeltilmisMetin(metin) {
// Türkçe karakter düzeltmeleri.
var turkceKarakterler = {
"\u0131": "ı", "\u0130": "i",
"\u015F": "s", "\u015E": "s",
"\u011F": "ğ", "\u011E": "g",
"\u00FC": "ü", "\u00DC": "u",
"\u00F6": "ö", "\u00D6": "o",
"\u00E7": "ç", "\u00C7": "c",
};
for (var key in turkceKarakterler) {
metin = metin.replace(new RegExp(key, "g"), turkceKarakterler[key]);
}
// Diğer düzeltmeler.
metin = metin.replace(/\bq\b/g, "k");
metin = metin.replace(/\bw\b/g, "v");
// Büyük harfle başlayan kısaltmaları düzelt.
var kisaltmalar = ["CPU", "GPU", "RAM", "AMD", "MHz", "GHz"];
for (var i = 0; i < kisaltmalar.length; i++) {
metin = metin.replace(new RegExp("\\b" + kisaltmalar[i].toLowerCase() + "\\b", "g"), kisaltmalar[i]);
}
// Noktalama işaretlerini düzelt.
metin = metin.replace(/\s*([^\w\s])\s*/g, '$1'); // Noktalama işaretlerinden önce ve sonra boşluk ekleme.
metin = metin.replace(/\s{2,}/g, ' '); // Birden fazla boşluğu tek boşlukla değiştirme.
metin = metin.replace(/([.?!])\s*([^\s\d])/g, '$1 $2'); // Cümle sonlarında boşluk bırak.
// Cümle başında büyük harfle başlama.
metin = metin.replace(/^[a-zöçşğıüı]/g, function (match) {
return match.toUpperCase();
});
// İki nokta
metin = metin.replace(/\.{2,}/g, '.');
metin = metin.replace(/\bTurkce\b/g, "Türkçe");
return metin;
}
// Örnektir kullanım önerilmez.
</script>
</body>
</html>