Controllo Indirizzo eMail

Stato
Discussione chiusa ad ulteriori risposte.

imported_opocaj

Utente Silver
18 Dicembre 2007
215
10
0
98
Controllare se l'indirizzo eMail inserito è corretto o no.
[Perl - Tk]
Codice:
#!/usr/bin/perl
use Tk;
$mw=MainWindow->new();
$mw->title("Mail Validator");
$mw->minsize(300, 100);
$mw->maxsize(300, 100);
$mw->Label(-text=>"Inserisci l'indirizzo eMail da validare:\n")->pack(-anchor=>"n");
$mw->Entry(-textvariable=>\$mail)->pack(-anchor=>"n");
$mw->Button(-text=>"Valida", -command=>sub{
  $sw=MainWindow->new();
  $sw->title("Mail Validator");
  $sw->minsize(150, 30);
  $sw->maxsize(150, 30);
  if ($mail=~ /[\w,\d]+@[\w,\d]+.[a-z]{2,3}/) {
    $sw->Label(-text=>"Indirizzo Mail corretto")->pack;
  } else {
    $sw->Label(-text=>"Indirizzo Mail non corretto")->pack;
  }
})->pack(-anchor=>"s");
MainLoop;
Un classico degli esercizi :asd:
 
il mio in java:

Codice:
public ControlloEmail(){
        BufferedReader t=new BufferedReader(new InputStreamReader(System.in)));
        boolean b=true;
        int v=0;
        try{
            System.out.println("Inserire l'email da verificare:");
            do{
                email=t.readLine();
                if(!email.equals("")){
                    System.out.println("Verifica dell'indirizzo in corso....");   
                    b=false;
                }else{
                 System.out.println("Inserire un'indirizzo email...");   
                }
            }while(b==true);
            for(int i=0;i<email.length();i++){
                String c=""+email.charAt(i);
                if(c.equals("@")){v++;}
                if(v==1 && c.equals(".")){v++;}
            }
            if(v==2){
                System.out.println("L'email inserita è corretto.");
            }else{
                System.out.println("L'email inserita non è corretto");
            }
        }catch(Exception e){
            System.out.println("Errore:"+e.getMessage());   
        }
    }
 
Python:
Codice:
from sys import argv
import re
mc = re.compile('([\w_\.])+@([\w_\.])+\.[\w_\.]{2,3}')
if mc.match(argv[1]) != None: print 'Email valida.'
else: print 'Email non valida.'
La regex non è un granché, ahimé, ma non ho voglia di migliorarla.
 
ho visto la data ma non credo che sia un problema se riuppo questa discussione :O spero non sia un problema
Codice:
print "true" if ARGV.first.match(/[\w,\d]+@[\w,\d]*+.[a-z]{2,3}/)

http://sprunge.us/YYBF?rb

EDIT: Grazie tilde ^^
 
onliner! http://sprunge.us/EdIW?rb

EDIT: @deadcode: credo di aver risolto il tuo problema:
Codice:
 val = true if ARGV.first.match(/[\w,\d]+@[\w,\d]*+.[a-z]{2,3}/)
 
tilde ha detto:
onliner! http://sprunge.us/EdIW?rb

EDIT: @deadcode: credo di aver risolto il tuo problema:
Codice:
 val = true if ARGV.first.match(/[\w,\d]+@[\w,\d]*+.[a-z]{2,3}/)

Grazie tilde ^^ scusami ma nella mia scuola non facciamo mai regex e da solo non ci capisco mai nulla ^^ grazie 1000 :)
 
Stato
Discussione chiusa ad ulteriori risposte.