Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Walidacja maila
Forum PHP.pl > Forum > Przedszkole
macza
Witam znalazlem do walidacji emaila:
  1. <?php
  2. function checkEmail($email) {
  3.  if (!preg_match("/^( [a-zA-Z0-9] )+( [a-zA-Z0-9._-] )*@( [a-zA-Z0-9_-] )+( [a-zA-Z0-9._-] +)+$/" , $email)) {
  4. return false;
  5.  }
  6.  return true;
  7. }
  8. ?>


skryt dziala, lecz gdy wpisuje:
przyklad.przyklad@gmail.com, chodzi chyba o te "." przed @
wyskakuje blad

macie pomysl?
strife
Ja do sprawdzenia adresu e-mail używam regułki z Symfony, np.:

  1. <?php
  2. $re = '/^([^@s]+)@((?:[-a-z0-9]+.)+[a-z]{2,})$/i';
  3.  
  4. $string = 'kaczor.donald@example.com';
  5.  
  6. if ( preg_match($re, $string ) ) {
  7. echo 'Poprawny adres';
  8. } else {
  9. echo 'Wpisany adres jest niepoprawny!';
  10. }
  11. ?>


Może być ? tongue.gif
nexis
Pierwszy komentarz w manulau w funkcji mail" title="Zobacz w manualu PHP" target="_manual

  1. <?php
  2. $str = "a1.a_1-a@a-a.com.do";
  3. if(eregi("^[a-z]+[a-z0-9_-]*(([.]{1})|([a-z0-9_-]*))[a-z0-9_-]+
  4. [@]{1}[a-z0-9_-]+[.](([a-z]{2,3})|([a-z]{3}[.]{1}[a-z]{2}))$",$str)) {
  5.  echo "Right<br>";
  6. } else {
  7.  echo "Wrong<br>";
  8. };
  9. ?>
Glarden
Ja to robię tak, wydaje mi się, że to bardziej przejrzyste:
  1. <?php
  2. if (ereg ("^.+@.+..+$", $email)) {
  3. echo ("Poprawny adres e-mail!");
  4. }
  5. else {
  6. echo ("Spadówa, niepoprawny mail!");
  7. }
  8. ?>
mike
~Glarden przejrzystsze owszem, ale też niepoprawne.
Twój filtr nie wykryje mnóstwa stringów, które adresami email nie są a jednak spełniają Twój wzorzec.
macza
Działa panowie i panie! Dziękuje winksmiley.jpg
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.