Javascript ile string değişkenler üzerinde nasıl çalışılır. Metin içindeki bir karakterin indeksini bulmak, metnin bir kısmını almak, büyük küçük harfe döndürmek, metni parçalara bölmek, metnin uzunluğunu almak, metin içindeki istediğimiz bir karakteri veya metni başkası ile değiştirmek gibi işlemler nasıl yapılır. Bu tür işlemler kuşkusuz hepimizin işine yarayacaktır.
indexOf
Bir stringi oluşturan her karakterin bir indeks numarası vardır. Stringin birinci karakteri 0 indeksinde bulunur. indexOf fonksiyonu verdiğimiz karakter veya metnin string içinde geçtiği ilk indeks numarasını döndürür.
var a = "yazılım mutfağı";
document.write(a.indexOf("z"));
sonuç olarak 2 sayısı döner.
Eğer verdiğimiz karakter birden fazla dönüyorsa sadece ilk geçen indeks numarasını alırız.
var a = "yazılım mutfağı";
document.write(a.indexOf("a"));
sonuç olarak 1 sayısını alırız.
indexOf fonksiyonunun kullanışlı bir özelliğide string içerisinde hangi indeksden sonra arama yapacağını söyleyebiliyor olmamız.
var a = "yazılım mutfağı";
document.write(a.indexOf("a",3));
sonuç 12 olarak döner. Çünkü yukarıdaki kullanım şekli stringin 3. İndeksinde sonra geçen ilk a karakterininin indeks numarasını döndürür.
indexOf içine yazdığımız karakter veya metin string içinde yoksa sonuç olarak -1 döner.
lastIndexOf
indexOf fonksiyonu gibi çalışır tek farkı yazılan karakterin string içinde geçtiği son indeks numarasını döndürür.
var b = "yazılım mutfağı";
document.write(a.lastIndexOf("ı"));
sonuç olarak 14 döner.
charAt
Verilen indeks numarasındaki karakteri döndürür.
var a = "yazılım mutfağı";
document.write(a.charAt(4));
sonuç olarak ‘l’ karakteri döner. İlk şndeks 0 olduğu için 4 indeksdeki karakter ‘l’ oluyor.
length
length özelliği stringin toplam kaç karakterden oluştuğunu döndürür, boşluklar dahildir. Kısaca uzunluğunu döndürür.
var a = "yazılım mutfağı";
document.write(a.length);
sonuç olarak 15 döner.
split
Split fonksiyonu belirlediğiniz özel bir karaktere göre stringiniz parçalara böler. Splitten dönen değeri bir diziye koymak zorundasınız. Netscape 2 ve Explorer 3 de çalışmaz.
var a = "yazılım mutfağı";
var temp = new Array();
temp = a.split(' ');
sonuç olarak yazılım mutfağı stringi içindeki boşluklara göre elemanlarına ayrıldı yukardaki script sonucunda temp dizisi iki adet elemana sahip oldu. Birinci elemanı ‘yazılım’ ikinsi elemanı ise ‘mutfağı’.
substring
substring fonksiyonu string içerisindeki belli bir bölümü almamıza yarar yazım şekli substing(ilk_indeks, son_indeks) şeklindedir.
var a = "yazılım mutfağı";
document.write(a.substring(2,5));
sonuç olarak ‘zıl’ metini döner. Dikkat ederseniz 2. Karakter z 5. Karakter ise ı dır fakat substring fonskiyonu ikinci parametre olarak yazılan değere kadar olan metni döndürür. Son indeks olarak yazdığımız parametrede bulunan karakter dahil değildir.
substring fonksiyonu tek parametre alarakda kullanılır bu durumda parametre olarak yazılan indeks numarasından itibaren geri kalan tüm metni döndürür.
var a = "yazılım mutfağı";
document.write(a.substring(2));
sonuç olarak ‘zıl mutfağı’ döner.
substr
substing fonksiyonundan farklı olarak ikinci parametre olarak yazılan kısım farklıdır. İkinci parametreye yazılan sayı kadar karakter döndürür.
var a = "yazılım mutfağı";
document.write(a.substr(2,7));
sonuç olarak ‘zılım m’ döner. 2. Karakterden başlayarak 7 karakter döndürür.
substr() fonksiyonu Netscape 2 and 3, Explorer 3, Hotjava 3, Opera 3 and WebTVtarafından deskteklenmez.
toLowerCase ve toUpperCase
toLowerCase fonksiyonu verilen metni küçük harflere dönüştürürken toUpperCase fonksiyonu metni büyük harflere çevirir.
var a = "yazılım mutfağı";
document.write(a.toUpperCase());
sonuç olarak ‘YAZILIM MUTFAĞI’ metni döner.
var a = "YAZILIM MUTFAĞI ";
document.write(a.toLowerCase());
sonuç olarak ‘yazilim mutfaği’ metni döner.
replace
replace fonksiyonu metin içinde herhangi bir karakter veya metni başka bir karakter veya metin ile değiştirmek için kullanılır.
var eskiMetin = "Kullanıcı Yazılım Mutfağına Hoşgeldin. Kullanıcı.";
var yeniMetin = eskiMetin.replace("Kullanıcı", "Ziyaretçi");
document.write("Eski Metin = " + eskiMetin);
document.write("<br />Yeni Metin = " + yeniMetin);
sonuç olarak aşağıdaki ekran döner:
Eski Metin = Kullanıcı Yazılım Mutfağına Hoşgeldin. Kullanıcı.
Yeni Metin = Ziyaretçi Yazılım Mutfağına Hoşgeldin. Kullanıcı.
Dikkat ederseniz değiştirmek istediğimiz kısım sadece ilk geçtiği yerde değiştirilmiş fakat sonraki geçtiği yerlerde değiştirilmemiştir. Eğer metin içinde belirlediğimiz karakter veya metnin hepsini yeni bir değerle değiştirmek istiyorsak regular expression kullanmamız gerekir.
Bu durumda değiştirmek istediğimiz metni “ işareti arasına değil / karakteri arasına yazmamız gerekiyor.
var eskiMetin = "Kullanıcı Yazılım Mutfağına Hoşgeldin. Kullanıcı.";
var yeniMetin = eskiMetin.replace(/Kullanıcı/g, "Ziyaretçi");
document.write("Eski Metin = " + eskiMetin);
document.write("<br />Yeni Metin = " + yeniMetin);
sonuç olarak metin içinde geçen tüm ‘Kullanıcı’ lar Ziyaretçi olarak değiştirildi. Yukarıdaki script sonucunda aşağıdaki görüntü döner:
Eski Metin = Kullanıcı Yazılım Mutfağına Hoşgeldin. Kullanıcı.
Yeni Metin = Ziyaretçi Yazılım Mutfağına Hoşgeldin. Ziyaretçi.