- Konu sahibi
- #1
JavaScript’te
Burada
Beklenen çıktı baştaki ve sondaki boşlukları olmayan aynı içeriktir. Çıktıda boşlukların hâlâ görünmesi genellikle boşlukların metnin ortasında olduğunu veya kullanılan karakterin beklenenden farklı olduğunu gösterir.
Başlangıç veya bitiş için yalnızca bir tarafı temizlemek gerektiğinde şu yöntemler kullanılır:
Karar vermeyi kolaylaştırmak için yöntemlerin farkı şöyledir:
Çoğu form alanında iki tarafı birden temizlemek için
Kullanıcı adını kontrol etmeden önce değeri temizleyebilirsiniz:
Uygulama sırası şöyledir:
Girdi null veya sayıysa örnek fonksiyon bunu metne sessizce çevirmek yerine açık hata sonucu verir. Bu seçim, yanlış veri türünü gizlememek içindir. Gerçek formda dönen mesajı kullanıcıya nasıl göstereceğinizi ve geçersiz girdide kaydı nasıl engelleyeceğinizi ayrıca bağlayın.
trim(), bir metnin başındaki ve sonundaki boşluk karakterlerini kaldırıp temizlenmiş yeni bir metin döndürür. Orijinal değişkeni değiştirmez. Bu nedenle özellikle kullanıcıdan alınan form verilerini karşılaştırmadan, kaydetmeden veya doğrulamadan önce kullanılır.Temel kullanım
Kod:
const metin = " JavaScript ";
const temizMetin = metin.trim();
console.log(temizMetin); // "JavaScript"
console.log(metin); // " JavaScript "
Burada
trim() yalnızca baştaki ve sondaki boşlukları kaldırır. Metnin ortasındaki boşluklara dokunmaz:
Kod:
const metin = " JavaScript ile web geliştirme ";
console.log(metin.trim());
// "JavaScript ile web geliştirme"
Beklenen çıktı baştaki ve sondaki boşlukları olmayan aynı içeriktir. Çıktıda boşlukların hâlâ görünmesi genellikle boşlukların metnin ortasında olduğunu veya kullanılan karakterin beklenenden farklı olduğunu gösterir.
Nasıl çalışır?
trim(), metnin başından ve sonundan JavaScript’in boşluk olarak kabul ettiği karakterleri ve satır sonlarını temizler. Metin tamamen boşluklardan oluşuyorsa sonuç boş bir string olur. Metin zaten temizse yine aynı içerikte bir string döner.Başlangıç veya bitiş için yalnızca bir tarafı temizlemek gerektiğinde şu yöntemler kullanılır:
Kod:
const metin = " Merhaba ";
console.log(metin.trimStart()); // "Merhaba "
console.log(metin.trimEnd()); // " Merhaba"
Karar vermeyi kolaylaştırmak için yöntemlerin farkı şöyledir:
| Yöntem | Temizlenen bölüm | Tipik kullanım |
|---|---|---|
trim() | Baş ve son | Genel metin temizleme |
trimStart() | Yalnız başlangıç | Başındaki boşluğu korumak istemediğiniz çıktı |
trimEnd() | Yalnız son | Satır veya alan sonunu temizleme |
Çoğu form alanında iki tarafı birden temizlemek için
trim() yeterlidir. Girintinin veya metin içindeki boşlukların anlam taşıdığı bir içerikte ise tüm metne körü körüne uygulamak doğru olmayabilir.Form verisinde uygulanabilir örnek
Kullanıcı adını kontrol etmeden önce değeri temizleyebilirsiniz:
Kod:
function kullaniciAdiniKontrolEt(deger) {
if (typeof deger !== "string") {
return "Kullanıcı adı metin olmalı.";
}
const kullaniciAdi = deger.trim();
if (kullaniciAdi === "") {
return "Kullanıcı adı boş bırakılamaz.";
}
return `Kullanıcı adı: ${kullaniciAdi}`;
}
console.log(kullaniciAdiniKontrolEt(" deniz "));
// "Kullanıcı adı: deniz"
console.log(kullaniciAdiniKontrolEt(" "));
// "Kullanıcı adı boş bırakılamaz."
Uygulama sırası şöyledir:
- Gelen değerin gerçekten string olduğundan emin olun.
- Baş ve sondaki gereksiz boşlukları
trim()ile kaldırın. - Temizlenmiş değerin boş string olup olmadığını kontrol edin.
- Kontrol başarılıysa temizlenmiş değeri kaydedin, karşılaştırın veya sonraki fonksiyona aktarın.
Girdi null veya sayıysa örnek fonksiyon bunu metne sessizce çevirmek yerine açık hata sonucu verir. Bu seçim, yanlış veri türünü gizlememek içindir. Gerçek formda dönen mesajı kullanıcıya nasıl göstereceğinizi ve geçersiz girdide kaydı nasıl engelleyeceğinizi ayrıca bağlayın.
Sık yapılan hatalar
- Orijinal değişkenin değiştiğini sanmak:
trim()yeni değer döndürür. Sonucu kullanmak içindeger = deger.trim()şeklinde yeniden atama yapın veya dönen değeri başka bir değişkende tutun. - Metnin ortasındaki boşlukları beklemek:
"Ali Veli".trim()sonucu"Ali Veli"olur. Tüm art arda boşlukları düzenlemek ayrı bir işlemdir. - String olmayan değerde doğrudan çağırmak:
nullveyaundefinedüzerindetrim()çağırmak hata üretir. Değeri önce doğrulayın; sayıları metne çevirmek gerekiyorsa dönüşümü bilinçli yapın. - Boşlukları silmeyi doğrulama sanmak:
trim()yalnızca dıştaki boşlukları temizler; e-posta biçimi, parola kuralları veya kullanıcı adı geçerliliği gibi kontrolleri kendisi yapmaz.