String.prototype.startsWith / endsWith în JavaScript

Șiruri de caractere ES2015 (ES6)

Verifică dacă un text începe sau se termină cu un anumit text.

Sintaxă
sir.startsWith(cauta, pozitie)
sir.endsWith(cauta, lungime)

Ce face String.prototype.startsWith / endsWith

startsWith răspunde cu true dacă textul începe cu șirul căutat, iar endsWith dacă se termină cu el. Comparația ține cont de literele mari și mici.

Al doilea parametru este opțional. La startsWith este poziția de unde începe verificarea. La endsWith este lungimea considerată, ca și cum textul s-ar termina acolo.

Parametri

Parametru Descriere
cauta Textul căutat la început sau la sfârșit.
pozitie / lungime Opțional. startsWith: de unde începe; endsWith: unde se consideră sfârșitul.

Ce returnează

true sau false.

Exemple

Exemplul 1: Adrese și fișiere

const adresa = "https://www.dexblog.ro/invata/";
const fisier = "factura-octombrie.PDF";

console.log(adresa.startsWith("https://"));
console.log(fisier.endsWith(".pdf"));
console.log(fisier.toLowerCase().endsWith(".pdf"));

Rezultat

true
false
true

Exemplul 2: Al doilea parametru

const cod = "RO-IS-2026";

console.log(cod.startsWith("IS", 3));
console.log(cod.endsWith("IS", 5));

Rezultat

true
true

Exemplul 3: Numere de telefon românești

const numere = ["0722 111 222", "+40 744 555 666", "0040 21 123 4567"];

for (const numar of numere) {
  const prefix = ["07", "+407"].some((p) => numar.replaceAll(" ", "").startsWith(p));
  console.log(numar, prefix ? "mobil" : "altul");
}

Rezultat

0722 111 222 mobil
+40 744 555 666 mobil
0040 21 123 4567 altul

Greșeli frecvente

  • Verifici extensia unui fișier fără să transformi textul în litere mici: "poza.JPG".endsWith(".jpg") dă false.
  • Dai o expresie regulată ca parametru și primești TypeError. Pentru modele folosește /^https?:/.test(sir).

Comenzi înrudite

  • includes: Verifică dacă un text conține alt text sau dacă un tablou conține o valoare.
  • String.prototype.indexOf / lastIndexOf: Returnează poziția primei (sau ultimei) apariții a unui text, ori -1 dacă nu apare.
  • RegExp.prototype.test: Verifică dacă un text se potrivește cu o expresie regulată și returnează true sau false.