Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> walidacja adresu e-mail a wyrażenia regularne
hhg
post
Post #1





Grupa: Zarejestrowani
Postów: 316
Pomógł: 0
Dołączył: 5.07.2006

Ostrzeżenie: (0%)
-----


dlaczego poniższa walidacja nie działa tj przepuszcza e-mail o innej budowie niz prawidłowa np. "mojemail" nie jest raportowany jako błędny

  1. <?php
  2. if (empty($_POST['email']) || !ereg('^[a-z0-9]+@([a-z0-9]+.){1,2}[a-z]{2,4}$',$email)) {
  3. $em = FALSE;
  4. $message .= '<p class="error">Popraw swój adres e-mail.</p>';
  5. } else {
  6. $em = escape_data($_POST['email']);
  7. }
  8. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ens0re
post
Post #2





Grupa: Zarejestrowani
Postów: 143
Pomógł: 0
Dołączył: 23.08.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


  1. <?php
  2. preg_match('/^[a-z0-9.-_]+@[a-z0-9-_]+.([a-z0-9-_]+.)*?[a-z]+$/is', $email)
  3. ?>

Mi działa znakomicie:
  1. <?php
  2. function sprawdz_email($email) {
  3.  if(!preg_match('/^[a-z0-9.-_]+@[a-z0-9-_]+.([a-z0-9-_]+.)*?[a-z]+$/is', $email)) {
  4. return false;
  5.  }
  6.  else {
  7. return true;
  8.  }
  9. }
  10. ?>
  11. <?
  12. if(sprawdz_email('adres@domena.pl')) {
  13.  echo 'Ten adres jest poprawny';
  14. } else {
  15.  echo'Ten adres jest niepoprawny';
  16. }
  17. ?>


Ten post edytował ens0re 21.07.2006, 21:07:30
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.12.2025 - 19:34