ctype_alpha în PHP

Verifică dacă un text conține doar litere (a-z, A-Z).

Sintaxă
ctype_alpha(mixed $text): bool

Ce face ctype_alpha

ctype_alpha returnează true dacă toate caracterele sunt litere englezești. Spațiile, cifrele, cratimele și literele cu diacritice fac rezultatul false. Un text gol dă false.

Pentru nume românești, care au diacritice, spații și cratime, folosește o expresie regulată cu modificatorul u, de exemplu '/^[\p{L} -]+$/u'.

Parametri

Parametru Descriere
$text Textul verificat.

Ce returnează

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

Exemple

Exemplul 1: Litere englezești și diacritice

<?php
foreach (["Ana", "Iasi", "Iași", "Ana Maria", "Ana2"] as $text) {
    echo "$text => " . (ctype_alpha($text) ? "doar litere" : "nu") . "\n";
}

Rezultat

Ana => doar litere
Iasi => doar litere
Iași => nu
Ana Maria => nu
Ana2 => nu

Exemplul 2: Validarea corectă a unui nume românesc

<?php
foreach (["Ștefan", "Ana-Maria", "Ion 2"] as $nume) {
    echo "$nume => " . (preg_match('/^[\p{L} -]+$/u', $nume) ? "valid" : "invalid") . "\n";
}

Rezultat

Ștefan => valid
Ana-Maria => valid
Ion 2 => invalid

Greșeli frecvente

  • Validezi numele cu ctype_alpha și utilizatorii cu diacritice sau nume compuse sunt respinși.

Comenzi înrudite

  • ctype_alnum: Verifică dacă un text conține doar litere și cifre, fără spații sau alte semne.
  • ctype_upper / ctype_lower: Verifică dacă un text conține doar majuscule (ctype_upper) sau doar litere mici (ctype_lower).
  • preg_match: Verifică dacă un text se potrivește cu o expresie regulată și extrage prima potrivire.