ctype_alnum în PHP

Verifică dacă un text conține doar litere și cifre, fără spații sau alte semne.

Sintaxă
ctype_alnum(mixed $text): bool

Ce face ctype_alnum

ctype_alnum returnează true dacă fiecare caracter este o literă englezească sau o cifră. Este utilă pentru nume de utilizator simple, coduri de produs sau coduri promoționale.

Ca și celelalte funcții ctype_, nu recunoaște diacriticele și dă false pentru un text gol.

Parametri

Parametru Descriere
$text Textul verificat.

Ce returnează

true dacă textul nu este gol și are doar litere și cifre, altfel false.

Exemple

Exemplul 1: Cod promoțional

<?php
foreach (["VARA2026", "VARA-2026", "vara 2026", "REDUCERE"] as $cod) {
    echo "$cod => " . (ctype_alnum($cod) ? "valid" : "invalid") . "\n";
}

Rezultat

VARA2026 => valid
VARA-2026 => invalid
vara 2026 => invalid
REDUCERE => valid

Exemplul 2: Nume de utilizator cu lungime limitată

<?php
$utilizator = "ana2026";

if (ctype_alnum($utilizator) && strlen($utilizator) >= 4 && strlen($utilizator) <= 20) {
    echo "Nume de utilizator acceptat";
}

Rezultat

Nume de utilizator acceptat

Greșeli frecvente

  • Te aștepți ca _ sau . să fie acceptate, ca în multe nume de utilizator. ctype_alnum le respinge: folosește preg_match('/^[a-z0-9_.]+$/i', ...).

Comenzi înrudite

  • ctype_alpha: Verifică dacă un text conține doar litere (a-z, A-Z).
  • ctype_digit: Verifică dacă un text conține doar cifre (0-9).
  • preg_match: Verifică dacă un text se potrivește cu o expresie regulată și extrage prima potrivire.