Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2001
    residenza
    rimini, san marino
    Messaggi
    934

    Espressioni regolari ed email

    Ciao a tutti.

    Ho bisogno di fare un controllo con le espressioni regolare sulle mail.

    Secondo voi è giusta o sbagliato questo pattern?

    $pattern_email = ".+@.+\..{3}";

    Ciao,
    Ale

  2. #2

  3. #3
    Utente di HTML.it L'avatar di Inoki
    Registrato dal
    Oct 2001
    Messaggi
    788

    Re: Espressioni regolari ed email

    Originariamente inviato da pig_org
    Ciao a tutti.

    Ho bisogno di fare un controllo con le espressioni regolare sulle mail.

    Secondo voi è giusta o sbagliato questo pattern?

    $pattern_email = ".+@.+\..{3}";

    Ciao,
    Ale
    Premesso che mi sono avvicinato da pochissimo alle espressioni regolari...

    Però questo controllo che hai messo tu mi sembra un po' troppo scarno..
    Io metterei:
    codice:
    $paternemail="/[a-zA-Z*\-_]@[a-zA-Z\-_]\.[a-zA-Z]{2.3}/";
    Ora non assicuro sulla corettezza sintattica..
    Però te le spiego..
    diciamo che ammetti tutte le lettere dalla a alla z e anceh quelle maiuscole, numeri e i caratteri - (trattino) e _ (underscore), poi la chiocciola, seguita dalla stessa sequenza di caratteri poi il punto seguito dalle lettere a-z con un minimo di 2 occorrenze e un massimo di 3...

    Ripeto non credo di aver azzeccato la sintassi.. l'asterisco (mi pare) sia tutte le cifre.. ma non ci giurerei (non posso cercare adesso nel forum)

    cmq credo sia un controllo un po' più corretto questo.. spero che qualche guru delle preg mi corregga...
    "La teoria è quando si sa tutto e niente funziona. La pratica è quando
    tutto funziona e nessuno sa il perché. In questo caso, abbiamo messo
    insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa
    il perché!" (Albert Einstein)

  4. #4
    Tempo fa trovai questa funzioncina postata da andr3a, da allora l'ho sempre usata e l'ho trovata a dir poco infallibile!

    codice:
    function IsEmail( $valore ){
    	$r = "([a-z0-9]+[\._\-]?){1,3}([a-z0-9])*";
    	$r = "/(?i)^{$r}\@{$r}\.[a-z]{2,6}$/";
    	return preg_match($r, $valore);
    }
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  5. #5
    Utente di HTML.it L'avatar di Inoki
    Registrato dal
    Oct 2001
    Messaggi
    788
    Originariamente inviato da 13manuel84
    Tempo fa trovai questa funzioncina postata da andr3a, da allora l'ho sempre usata e l'ho trovata a dir poco infallibile!

    codice:
    function IsEmail( $valore ){
    	$r = "([a-z0-9]+[\._\-]?){1,3}([a-z0-9])*";
    	$r = "/(?i)^{$r}\@{$r}\.[a-z]{2,6}$/";
    	return preg_match($r, $valore);
    }
    Caspita nn l'ho mica capita... :master:
    "La teoria è quando si sa tutto e niente funziona. La pratica è quando
    tutto funziona e nessuno sa il perché. In questo caso, abbiamo messo
    insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa
    il perché!" (Albert Einstein)

  6. #6
    Originariamente inviato da 13manuel84
    Tempo fa trovai questa funzioncina postata da andr3a, da allora l'ho sempre usata e l'ho trovata a dir poco infallibile!

    codice:
    function IsEmail( $valore ){
    	$r = "([a-z0-9]+[\._\-]?){1,3}([a-z0-9])*";
    	$r = "/(?i)^{$r}\@{$r}\.[a-z]{2,6}$/";
    	return preg_match($r, $valore);
    }
    pure i commenti m'hai tolto


    codice:
    function checkMail( $m ) {
    	// andr3a / HTML.IT
    	$r = "([a-z0-9]+[\._\-]?){1,3}([a-z0-9])*";
    	$r = "/(?i)^{$r}\@{$r}\.[a-z]{2,6}$/";
    	return preg_match($r, $m);
    }
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  7. #7
    Utente di HTML.it L'avatar di Inoki
    Registrato dal
    Oct 2001
    Messaggi
    788
    Originariamente inviato da andr3a
    pure i commenti m'hai tolto


    codice:
    function checkMail( $m ) {
    	// andr3a / HTML.IT
    	$r = "([a-z0-9]+[\._\-]?){1,3}([a-z0-9])*";
    	$r = "/(?i)^{$r}\@{$r}\.[a-z]{2,6}$/";
    	return preg_match($r, $m);
    }
    che vuol dire questo?
    codice:
    (?i)^{$r}
    VVoVe:
    "La teoria è quando si sa tutto e niente funziona. La pratica è quando
    tutto funziona e nessuno sa il perché. In questo caso, abbiamo messo
    insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa
    il perché!" (Albert Einstein)

  8. #8
    Originariamente inviato da Inoki
    che vuol dire questo?
    codice:
    (?i)^{$r}
    VVoVe:
    ^ = comincia con ( reg dentro la variabile $r )

    sarebbe stato uguale scrivere:

    ^([a-z0-9]+[\._\-]?){1,3}([a-z0-9])*


    dove
    ([a-z0-9]+[\._\-]?){1,3}([a-z0-9])* e' appunto il valore di $r
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2001
    residenza
    rimini, san marino
    Messaggi
    934

    Re: Re: Espressioni regolari ed email

    codice:
    $paternemail="/[a-zA-Z*\-_]@[a-zA-Z\-_]\.[a-zA-Z]{2.3}/";
    Grazie a tutti raga per la discussione instaurata.

    Cmq io direi di usare:

    $pattern_email = ".+@.+\..{3}";

    perchè il controllo sulle maiscole minuscole non lo voglio in quanto molto spesso chi naviga su internet non sa la differenza sui case sentive; infatti quando vado a fare l'if uso:

    if (eregi($pattern_email,$email))

    uso eregi in modo tale che non faccio un controllo così accurato.
    anzi, stavo pensando anche di eliminare il .{3}
    ma la mia domanda è: la sintassi è giusta?

    Ale

  10. #10

    Re: Re: Re: Espressioni regolari ed email

    Originariamente inviato da pig_org
    Grazie a tutti raga per la discussione instaurata.
    un'altra dopo una lunga serie ...




    Originariamente inviato da pig_org
    Cmq io direi di usare:

    $pattern_email = ".+@.+\..{3}";



    Originariamente inviato da pig_org
    perchè il controllo sulle maiscole minuscole non lo voglio in quanto molto spesso chi naviga su internet non sa la differenza sui case sentive;
    infatti non c'e' il controllo sulle maiuscole o minuscole, la funzione chi ti ho ( abbiamo ) postato e' case-insensitive



    Originariamente inviato da pig_org
    infatti quando vado a fare l'if uso:

    if (eregi($pattern_email,$email))

    uso eregi in modo tale che non faccio un controllo così accurato.
    e da quando eregi e' meno accurato di preg_match ??? l' "accurato" lo scegli tu in base alla regexp che gli dai ... ed eregi e' solo piu' lento


    Originariamente inviato da pig_org
    anzi, stavo pensando anche di eliminare il .{3}
    ma la mia domanda è: la sintassi è giusta?
    certo
    .@.. // tua regi = OK ... che bella email ...
    a@a. // tua regi = OK ... che bella email ...


    ma tu vuoi controllare che l'email sia valida ( o meglio, almeno scritta bene ) o no ? :master:
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.