Sprawdzanie poprawności wpisanego imienia

Przykład zastosowania wyrażeń regularnych

Po dwóch lekcjach wprowadzających przyszedł czas, by zobaczyć wyrażenia regularne w praktyce. Ich opanowanie pozwoli Ci w łatwy sposób manipulować wszelkimi danymi, używanymi na potrzeby strony. Przyłóż się porządnie do nauki, wyrażenia regularne dają ogromne możliwości!

Na początek zobaczmy prosty przykład, który sprawdza, czy prawidłowo wpisano imię oraz nazwisko:

<?php

$imie = $_POST['imie'];
$nazwisko = $_POST['nazwisko'];

// konstrukcja wyrażenia regularnego
// poprawność imienia oraz nazwiska
$sprawdz = '/(*UTF8)^[A-ZŁŚ]{1}+[a-ząęółśżźćń]+$/';

// preg_match() sprawdza dopasowanie wzorca do ciągu
// zwraca true jeżeli tekst pasuje do wyrażenia
if(preg_match($sprawdz, $imie)) 
{
   if(preg_match($sprawdz, $nazwisko))
      echo "Podano poprawne dane.";
   else
      echo "Błędne nazwisko.";
}
else 
   echo "Błędne imię.";

?>

Przeanalizujmy konstrukcję sprawdzającą imię oraz nazwisko. Nasz ciąg musi zaczynać się od wielkiej litery – stąd przedział wszystkich liter od A do Z (alfabetu angielskiego). Dodatkowo należy dodać dwie polskie litery, na które może zacząć się imię – Ł oraz Ś. Nawias klamrowy z jedynką w środku oznacza, że oczekujemy na początku tylko jednego wystąpienia wielkiej litery.

Z racji, że litery Ł i Ś zajmują 2 bajty, zamiast jednego, PHP nie potrafiłby poprawnie ocenić, że znak pojawił dokładnie jeden raz. Stąd magiczne (*UTF8), które poprzedza nasz pattern. W ten sposób tłumaczymy interpreterowi PHP, że liczymy znaki w kodowaniu UTF8, a nie w suchych bajtach.

Następnie spodziewamy się ciągu małych liter, wraz ze wszystkimi polskimi znakami.

Wiesz już jak można sprawdzić, czy użytkownik wpisał poprawnie swoje dane. W podobny sposób można przetestować wpisywaną miejscowość, datę czy nr telefonu. Wystarczy jedynie zmodyfikować wyrażenie regularne.

Kolejna lekcja pokazuje, jak można sprawdzić, czy wpisany adres e-mail jest poprawny. Zapraszam!

Spis lekcji w rozdziale czwartym

Poprzednia lekcja: Wzorce wyrażeń regularnych Następna lekcja: Sprawdzanie poprawności adresu e-mail

Dodaj komentarz