Znakovi u JavaScript stringu

Ponekad nam je potrebno da radimo sa stringom na nivou pojedinačnih znakova. Za razliku od drugih programskih jezika, JavaScript ne dozvoljava direktan pristup znakovima (bajtovima) stringa. U tom slučaju, koristiće nam ovde opisani metodi. Iako možda nije najbrži mogući način, JavaScript nas štiti u slučaju da je string po Unicode/UTF-8 standardu.

s.charAt(P) Vraća znak na poziciji P.
s.charCodeAt(P) Vraća Unicode kod znaka na poziciji P.
String.fromCharCode(C1, C2, ...) Vraća string na osnovu jednog ili više zadatih Unicode kodova.

charAt()

Ovaj metod kao rezultat vraća znak koji se nalazi na zadatoj poziciji. Prvi znak je na poziciji 0, a poslednji na poziciji s.length-1.

var znak = str.charAt(broj)

Ako zadamo broj koji izlazi van okvira dužine stringa, dobićemo prazan string kao rezultat.

charCodeAt()

Metod charCodeAt() će kao rezultat vratiti kod znaka na zadatoj poziciji. Vraćeni kod je po Unicode standardu, što znači da ćemo dobiti broj u rangu od 0 do 65535. Ako se u stringu nalazi znak koji se po Unicode standardu nalazi posle ove vrednosti, moramo da pozivamo ovaj metod za dva uzastopna znaka.

var kod = str.charCodeAt(broj)

Ako se zada redni broj znaka koji izlazi van okvira dužine stringa, kao rezultat se dobija vrednost NaN (Not a Number).

fromCharCode()

Metod fromCharCode() koristimo da bismo konvertovali Unicode kod u znak. Možemo zadati i listu znakova, pri čemu ćemo dobiti ceo string.

var znak = String.fromCharCode(kod) var znak = String.fromCharCode(kod1, kod2, ...)

Ovo je statički metod, što znači da se ne poziva za neki određeni string, već iz String klase.

Rad sa znakovima


  var s = "Svaki vodeničar jeste mlinar!";
  
  var z1 = s.charAt(0);             // "S"
  var zn = s.charAt(s.length - 1); // "!"

  var kod = s.charCodeAt(5)  // 32 (razmak)

  var str = String.fromCharCode(65,66,67); // "ABC"
  
js-str-znakovi-sr
Svi elementi sajta Web'n'Study, osim onih za koje je navedeno da su u javnom vlasništvu, vlasništvo su autora i ne smeju se koristiti, u celosti ili delimično bez pismenog odobrenja autora. To uključuje tekstove, slike, ilustracije, animacije, prateći grafički materijal i programski kod.
Ovaj sajt koristi tehnologiju kolačića (cookies). Detaljnije o tome možete pročitati u tekstu o našoj politici privatnosti.