kgadhi
Messages postés121Date d'inscriptionmardi 9 août 2005StatutMembreDernière intervention18 décembre 2007
-
7 oct. 2007 à 10:53
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 2011
-
8 oct. 2007 à 17:47
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 + '+)*' + [mailto:'@' '@'] + '(' + 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 . '+)*' . [mailto:'@' '@'] . '(' . $domain . '{1,63}\.)+' . $domain . '{2,63}$/i';
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 8 oct. 2007 à 17:47
B
onjour...
verif.exec is not a function
la fonction exec
applique une expression régulière à une chaîne,
dans ton cas il me semble qu'il faille déclarer ta variable verif comme étant une RegExp de la façon suivante
var verif = new RegExp( ton_expression);
ensuite