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.