SORU
11 Kasım 2008, Salı


endsWith javascript

Nasıl bir javascript dize belirli bir karakter ile bitiyorsa kontrol edebilir miyim? Örnek bir dize söylemek zorundayım

var str = "mystring#";

Eğer string str # ile biten olup olmadığını bilmek istiyorum. Bunu nasıl kontrol edebilirim?

  1. Javascript endsWith() bir yöntem var mı?

  2. Ben bir çözüm dize uzunluğunu almak ve son karakter al ve kontrol et.

Bu veya başka bir yolu var mi?

CEVAP
30 Mart 2010, Salı


Bu yıl eski bir soru olduğunu biliyorum... ama bu çapraz tarayıcı çalışmak istiyorum ve çok ihtiyacım var.herkes birleştirerek cevap ve yorumlarve biraz basitleştirmek:

String.prototype.endsWith = function(suffix) {
    return this.indexOf(suffix, this.length - suffix.length) !== -1;
};
  • Bir alt yaratmaz
  • Kullanan yerel indexOf hızlı sonuçlar için işlev
  • Gereksiz karşılaştırmalar indexOf ikinci parametre kullanarak ileriye atlayın
  • Internet Explorer çalışır
  • HAYIR Düzenli bir komplikasyon

Eğer yerel veri yapısı prototip olarak doldurma gibi şeyler yok eğer doğru değilse de, burada tek başına bir versiyonu:

function endsWith(str, suffix) {
    return str.indexOf(suffix, str.length - suffix.length) !== -1;
}

DÜZENLEME:Not tarafından @hamish açıklamalarda, isterseniz hata kasayı yan ve bir uygulama zaten sağlanan, sadece ekler typeof kontrol gibi

if (typeof String.prototype.endsWith !== 'function') {
    String.prototype.endsWith = function(suffix) {
        return this.indexOf(suffix, this.length - suffix.length) !== -1;
    };
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dylan Dubay

    Dylan Dubay

    10 Temmuz 2013
  • Sean Murphy

    Sean Murphy

    4 ŞUBAT 2009
  • stewmurray47

    stewmurray47

    1 Kasım 2006