Bonjour, et merci d'avance pour votre aide,
Je vous explique mon probleme: Je veux verifier la saisie d'une adresse mail par une expression reguliere, mais mon expression reguliere ne marche pas.
Jaimerais utilser la meme expression que celle que j'utilise en php pour faire les meme tests en local et sur le serveur. La verification en php par contre marche.
Je vous met le code en javascript et en php
<script language="javascript" type="text/javascript">
var E_Mail = mail_User.value;
var atom = '[-a-z0-9!#$%&\'*+\\/=?^_`{|}~]'; // caractères autorisés avant l'arobase
var domain = '([a-z0-9]([-a-z0-9]*[a-z0-9]+)?)'; // caractères autorisés après l'arobase (nom de domaine)
// Une ou plusieurs fois les caractères autorisés avant l'arobase
// Suivis par zéro point ou plus
// séparés par des caractères autorisés avant l'arobase
// Suivis d'un arobase
// Suivis par 1 à 63 caractères autorisés pour le nom de domaine
// séparés par des points
// Suivi de 2 à 63 caractères autorisés pour le nom de domaine
var verif = '/^' + atom + '+' + '(\.' + atom + '+)*' + '@' + '(' + domain + '{1,63}\.)+' + domain + '{2,63}$/i';
if (verif.exec(E_Mail) == null) {
Message += 'Veuillez saisir une adresse mail valide ! \n';
}
</script>
sous FireFox, j'ai comme message d'erreur "verif.exec is not a function
<?php
// Verifier le format de l'adresse mail
public static function verifierEmail($email) {
$atom = '[-a-z0-9!#$%&\'*+\\/=?^_`{|}~]'; // caractères autorisés avant l'arobase
$domain = '([a-z0-9]([-a-z0-9]*[a-z0-9]+)?)'; // caractères autorisés après l'arobase (nom de domaine)
// Une ou plusieurs fois les caractères autorisés avant l'arobase
// Suivis par zéro point ou plus
// séparés par des caractères autorisés avant l'arobase
// Suivis d'un arobase
// Suivis par 1 à 63 caractères autorisés pour le nom de domaine
// séparés par des points
// Suivi de 2 à 63 caractères autorisés pour le nom de domaine
$regex = '/^' . $atom . '+' . '(\.' . $atom . '+)*' . '@' . '(' . $domain . '{1,63}\.)+' . $domain . '{2,63}$/i';
if (preg_match($regex, $email)) {
return true;
}
else {
return false;
}
}
?>