SORU
7 EKİM 2008, Salı


JavaScript: büyük / küçük harf duyarlı arama

JavaScript çalışan iki dizeleri büyük / küçük harf duyarlı bir arama almak için çalışıyorum.

Normalde böyle olacağını:

var string="Stackoverflow is the BEST";
var result= string.search(/best/i);
alert(result);

/i bayrak büyük / küçük harf duyarlı olacaktır.

Ama ikinci bir dize aramak gerek; bayrak olmadan mükemmel çalışır:

var string="Stackoverflow is the BEST";
var searchstring="best";
var result= string.search(searchstring);
alert(result);

Eğer değişkeni ne için aranacak katar için arama yukarıdaki örnek için değil /i bayrak eklersem "" (örnek çalışma): . aranacak katar

var string="Stackoverflow is the BEST";
var searchstring="best";
var result= string.search(/searchstring/i);
alert(result);

Bunu nasıl başarabilir?

CEVAP
7 EKİM 2008, Salı


Evet, .match yerine .search kullanın. Sonuç .match Ara kendisini eşleştirilen gerçek bir dize döndürür, ama hala bir boolean değeri olarak kullanılabilir.

var string = "Stackoverflow is the BEST";
var result = string.match(/best/i);
// result == 'BEST';

if (result){
    alert('Matched');
}

Böyle bir düzenli ifade kullanarak muhtemelen JavaScript ile bunu yapmak için en belirgin tidiest ama aklınızda tutunbir düzenli ifade, ve böylece normal ifade meta içerebilir. Eğer programınızda dizeden başka bir yerde (örneğin, kullanıcı girişi), veya isterseniz önlemek için kaçmak zorunda bir sürü meta, o zaman sen muhtemelen en iyi kullanan indexOf: bunun gibi

matchString = 'best';
// If the match string is coming from user input you could do
// matchString = userInput.toLowerCase() here.

if (string.toLowerCase().indexOf(matchString) != -1){
    alert('Matched');
}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • MrExcite96

    MrExcite96

    17 ŞUBAT 2011
  • MofoHifi Records

    MofoHifi Rec

    15 HAZİRAN 2006
  • tsweeney79

    tsweeney79

    21 Ocak 2008