JavaScript ile çalışırken çok kullanacağız işlemlerden bir tanesi de metin içerisindeki gereksiz karakterlerden kurtulmak olabilir. Örneğin dinamik bir şekilde metinden ID oluşturduğunuzu düşünün. ID değeri için sadece ingilizce karakterler ve rakamlar girebildiğiniz için dinamik şekilde gelen metinden gereksiz karakterleri temizlemek gerekiyor. Aşağıdaki hazır fonksiyonu kullanarak bu işlemleri kolayca yapabilirsiniz. Benim örneğimde klavye üzerinde bulunan tüm karakterler yer alsa da bu işlemde gerekli diğer karakterleri, veya eklemek istemediğiniz karakterleri diziden çıkarmak ta size kalmış. İsterseniz bu hazır kodları değiştirerek kendi kütüphaneniz haline de getirebilirsiniz.
scope.GetCleanString = function (metin) {
metin= metin.toLowerCase();
var sonuc= "";
var karakterArray = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "q", "w", "e", "r", "t", "y", "u", "ı", "o", "p", "ğ", "ü", "a", "s", "d", "f", "g", "h", "j", "k", "l", "ş", "i", "z", "x", "c", "v", "b", "n", "m", "ö", "ç"];
for (i = 0; i < metin.length; i++) {
var eklenecek = false;
for (j = 0; j < karakterArray.length; j++) {
if (karakterArray[j] == metin.charAt(i)) {
eklenecek = true;
break;
}
}
if (eklenecek) {
sonuc+= metin.charAt(i);
}
}
return sonuc;
};
Diziye sadece küçük karakterleri ekledim. Eğer büyük harfleri de kontrol etmek isterseniz bu karakterleri de diziye ekleyebilirsiniz. Framework olarak AngularJS kullandığım için metot yazılımım da buna göre yazdım. İsterseniz metodu pure JavaScript'te metot yazılımına dönüştürebilirsiniz. Çünkü kod içeriği tamamen JavaScript.
Burada önemli olan iki metot var. Bunlar metin.charAt(i)ve metin.toLowerCase() metotlarıdır. Bu Metotlardan charAt(i) metodu indexi verilen karakteri diziden ayırmaya, toLowerCase ise metni küçük harflere dönüştürmek için kullanılmıştır.
Kolay Gelsin....
Konu ile alakalı sorularınız varsa lütfen sormaktan çekinmeyin. En kısa sürede yanıtlamaya çalışacağım...
scope.GetCleanString = function (metin) {
metin= metin.toLowerCase();
var sonuc= "";
var karakterArray = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "q", "w", "e", "r", "t", "y", "u", "ı", "o", "p", "ğ", "ü", "a", "s", "d", "f", "g", "h", "j", "k", "l", "ş", "i", "z", "x", "c", "v", "b", "n", "m", "ö", "ç"];
for (i = 0; i < metin.length; i++) {
var eklenecek = false;
for (j = 0; j < karakterArray.length; j++) {
if (karakterArray[j] == metin.charAt(i)) {
eklenecek = true;
break;
}
}
if (eklenecek) {
sonuc+= metin.charAt(i);
}
}
return sonuc;
};
Diziye sadece küçük karakterleri ekledim. Eğer büyük harfleri de kontrol etmek isterseniz bu karakterleri de diziye ekleyebilirsiniz. Framework olarak AngularJS kullandığım için metot yazılımım da buna göre yazdım. İsterseniz metodu pure JavaScript'te metot yazılımına dönüştürebilirsiniz. Çünkü kod içeriği tamamen JavaScript.
Burada önemli olan iki metot var. Bunlar metin.charAt(i)ve metin.toLowerCase() metotlarıdır. Bu Metotlardan charAt(i) metodu indexi verilen karakteri diziden ayırmaya, toLowerCase ise metni küçük harflere dönüştürmek için kullanılmıştır.
Kolay Gelsin....
Konu ile alakalı sorularınız varsa lütfen sormaktan çekinmeyin. En kısa sürede yanıtlamaya çalışacağım...
Yorumlar
Yorum Gönder