Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]preg_match i polskie litery
Forum PHP.pl > Forum > Przedszkole
Pcbecaw
jak dodać do ifa preg_match możliwość wpisania TYLKO liter+polskich liter?
Kombinowałem tak:
  1. if ( !preg_match('%^[A-Z][a-z]+%', $_POST['imie'])) {

ale to akceptuje wynik np.: Mas!@#$%^&*()
Chciałbym, żeby akceptowało TYLKO litery+polskie litery (i może, żeby nie trzeba było zaczynać z dużej litery).
pmir13
  1. if( preg_match( '/^[a-ząćęłńóśźż]+$/ui', $imie )) {
  2. // imie ok
  3. }
Fifi209
#^[a-ż]+$#i

Coś takiego
Pcbecaw
A jaka jest różnica między tymi dwiema propozycjami?
Obecnie zrobiłem tak:
  1. if ( !preg_match('#^[a-ż]+$#i', $_POST['imie'])) {
pmir13
Różnica jest taka, że [a-ż] przepuści znaki, które nie są literami.
[a-z] to są same litery, ale zanim dojdziemy do ż to w środku jest sporo śmieci.
Na przykład imię {§~©|} będzie poprawne.
Dlatego do zakresu [a-z] musimy dodać pojedyncze znaki aby ominąć to co w środku.
em1X
Ponieważ ten temat jest na 1 liście w wynikach G**gle, dodam od siebie, że należy dodać modyfikator "u" na końcu wzorcu, żeby wzorzec był traktowany jako UTF-8 smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.