Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]wyszukiwanie kropek w ciągu regularnym
Forum PHP.pl > Forum > Przedszkole
blackstone
Jak za pomocą wyrażen regularnych mogę sprawdzić czy dany tekst zawiera kropkę ? Potrzebuje aby skrypt potraktował kropkę jako znak do sprawdzenia a nie znak strukturalny.
zrobiłem coś takiego :

  1. $k = preg_match("/./",$mail) ;


Ten fragment kodu jest częścią funkcji sprawdzającą mail . SPrawdzanie czy w adresie jest @ idzie bez problemu, ale to drugie z kropką zwraca mi zawsze 1 nawet gdy kropki nie ma
SmokAnalog
Do tak prostego wyszukiwania nie potrzebujesz wyrażenia regularnego. Wystarczy zwykłe:

  1. if (strpos($mail, '.') !== false) {
  2. // znalazłem kropkę!
  3. }
Beniooo
W wyrażeniach regularnych kropka zastępuje dowolny znak
Tak jak już @SmokAnalog stwierdził, to bardzo proste wyszukiwanie, i możesz użyć sposobu podanego przez Niego.
Jeśli jednak bardzo zależy Ci na wyrażeniach regularnych Twój kod powinien wyglądać następująco:
  1. $k = preg_match("/\./",$mail) ;

PHP ma gotową funkcję do sprawdzania poprawności m.in. adresu e-mail http://php.net/manual/en/filter.examples.validation.php
  1. filter_var($email, FILTER_VALIDATE_EMAIL)

Odpowiedzią funkcji jest TRUE lub FALSE
SmokAnalog
No właśnie, jeśli ma Ci to posłużyć za walidację adresu e-mail, to nie idź tą drogą smile.gif Sensowne sprawdzenie adresu e-mail jest zbyt skomplikowane, żeby sobie tym zaprzątać tym głowę. Byli już tacy i spędzili nad tym dużo czasu, czego owocem są gotowe rozwiązania, między innymi sposób podany przez Benia.

Ale tak jako ciekawostka, kropki możesz też wyszukać tak:
  1. preg_match('/[.]/', $mail);


Te nawiasy kwadratowe zawierają zestawy znaków. Zresztą, jeśli interesuje Cię temat wyrażeń regularnych, to bez problemu znajdziesz wiele materiałów do nauki.
viking
Chociaż filter_var jest ogólnie fajne i dobrze że powstało to jednak w środowisku produkcyjnym raczej bym nie stosował do walidacji maili. Jest zbyt prymitywne. Poszukaj bardziej gotowych klas. A już na pewno nie rób czegoś w stylu kilka preg_match bo nie umiesz ciągu napisać. Uwierz że sprawdzanie maili to jedna z trudniejszych rzeczy i trzeba mieć dużą wiedzę. No i przede wszystkim zapoznać się z bieżącą specyfikacją maili.
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.