RegExp.prototype.test în JavaScript

Expresii regulate Toate browserele, Node.js

Verifică dacă un text se potrivește cu o expresie regulată și returnează true sau false.

Sintaxă
expresie.test(sir)

Ce face RegExp.prototype.test

test este cea mai simplă folosire a unei expresii regulate: spune doar dacă există o potrivire. Este alegerea potrivită pentru validări (email, telefon, cod poștal).

Atenție la indicatorul g sau y: expresia ține minte în lastIndex unde s-a oprit, iar apelurile următoare continuă de acolo. Același text poate da pe rând true și false.

Parametri

Parametru Descriere
sir Textul verificat.

Ce returnează

true sau false.

Exemple

Exemplul 1: Validarea unui număr de mobil

const mobil = /^(\+40|0)7\d{8}$/;

for (const numar of ["0722123456", "+40744555666", "0212345678", "07221234"]) {
  console.log(numar, mobil.test(numar));
}

Rezultat

0722123456 true
+40744555666 true
0212345678 false
07221234 false

Exemplul 2: Capcana indicatorului g

const cifra = /\d/g;

console.log(cifra.test("a1"), cifra.lastIndex);
console.log(cifra.test("a1"), cifra.lastIndex);
console.log(cifra.test("a1"));

Rezultat

true 2
false 0
true

Greșeli frecvente

  • Folosești aceeași expresie cu g pentru mai multe validări și primești rezultate alternante. Pentru test, scoate indicatorul g.

Comenzi înrudite

  • RegExp (expresii regulate): Creează o expresie regulată: un model de text folosit pentru căutare, validare și înlocuire.
  • RegExp.prototype.exec: Caută următoarea potrivire a unei expresii regulate și o returnează cu grupuri și poziție.
  • String.prototype.match: Caută într-un text potriviri cu o expresie regulată și le returnează.