2016-04-18 15 views
5

Sono un rebox noob ma desidero scrivere un'espressione regolare per controllare l'e-mail per il nome di dominio xyz.com.it se l'utente digita abc.com o altri nomi di dominio TLD, passerà. Se l'utente digita xyz dopo @ allora, passerà solo xyz.com.it, altri come xyz.net.it o xyz.net non passeranno. Qualche idea su come farlo?Regex per nome dominio specifico

avevo provato

var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/; 
var regexEmail = regex.test($('#email').val()); 

che convalida solo e-mail normale

+1

Cosa hai provato fino ad ora? Pubblica i tuoi tentativi? Pubblica alcuni possibili input e output previsti –

+0

Ho provato var regex =/^ ([a-zA-Z0-9 _. + -]) + \ @ (([a-zA-Z0-9 -]) + \.) + ([a-zA-Z0-9] {2,4}) + $ /; var regexEmail = regex.test ($ ('# email'). Val()); –

+0

@Uchiha, convalida solo l'email di normail –

risposta

0

Ora, invece di utilizzare regex si può semplicemente utilizzare strstr funzione del PHP come come

$email = "[email protected]"; 
$email2 = "[email protected]"; 
$valid_domain = "@xyz.com"; 

function checkValidDomain($email, $valid_domain){ 
    if(!filter_var($email,FILTER_VALIDATE_EMAIL) !== false){ 
     if(strstr($email,"@") == $valid_domain){ 
      return "Valid"; 
     }else{ 
      return "Invalid"; 
     } 
    }else{ 
     return "Invalid Email"; 
    } 
} 

echo checkValidDomain($email, $valid_domain);// Valid 
echo checkValidDomain($email2, $valid_domain);// Invalid 

Perché non l'ho fatto usato regex qui puoi leggere molti di questi thread anche su SO Email validation using regular expression in PHP e Using a regular expression to validate an email address

+0

@uchida grazie, sto usando comunque JQuery. La tua soluzione è logica ma riguarda solo parte del mio problema. Sto cercando di convalidare anche le email normali ... ma grazie comunque –

+0

Questo non tiene conto di indirizzi email validi come '" foo @ bar "@ example.com' – PeeHaa

+0

Il pattern che hai scelto è quello javascript rotto. Anche il mio commento iniziale rimane valido. – PeeHaa

Problemi correlati