|
|
|
|
Bijour
je doit verifier si un email a le bon format dans un formulaire mais je c le faire qu' en php ce qui n 'est pas tres pratique alors il y a deux solution ou je met un script en javascript ( mais moi le javascript ... )
ou je trouve un moyen de rediriger ver une autre page en php !
si qq a une des deux soluce ce serai simpa !
rucht ( chercheur a temp compler )
Répondre à HackTrack
|
Salut Rucht,
//Verifie l'adresse E-Mail
function verifmail(adrr){
var reg= /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/;
if(reg.test(ch1)==true) windows.alert(ch1," est une adresse valide");
else windows.alert(ch1," n'est pas une adresse valide");
}
Tchô!! |
Salut a tous,
<script language="javascript">
<!--
function arobaceok(EMAIL)
{
var a=document.forms[0].EMAIL.value;
var test="" + a;
for(var k = 0; k < test.length;k++)
{
var c = test.substring(k,k+1);
if(c == "@")
{
return true;
}
}
alert("Votre E-mail, Merci");
return false;
}
//-->
</script>
Après avoir placé ce script entre les balises </title> et </head>, vous devez tester l'envoi du formulaire en ajoutant l'événement Onsubmit à la balise <form>. <form method=post action="post" name="AVIS" OnSubmit="return arobaceok(EMAIL)"> Bonne chance !!! http://abarka.free.fr Un adulte assis voit plus loin qu'un jeune debout. |
Répondre à Ramses__
|
Salut,
<SCRIPT language="JavaScript">
<!--
function VerifMail()
{
a = document.Verif.Mail.value;
valide1 = false;
for(var j=1;j<(a.length);j++){
if(a.charAt(j)=='@'){
if(j<(a.length-4)){
for(var k=j;k<(a.length-2);k++){
if(a.charAt(k)=='.') valide1=true;
}
}
}
}
if(valide1==false) alert("Veuillez saisir une adresse email valide.");
return valide1;
}
//-->
</SCRIPT>
Place ce code dans la balise form: onsubmit="return VerifMail();" Remarque: Dans cet exemple, le formulaire a pour attribut name="Verif" et le champ de saisie de l'adresse e-mail a pour attribut name="Mail" ... à modifier éventuellement :) A+ |
Un test de validité d'un champ se fait toujours du coté client. On ne balance le formulaire qu'après avoir vérifié tout ce qui peut être vérifié coté client. Ca c'est pour la rigueur ! Celà ne dispense pas d'une seconde batterie de tests ensuite en PHP.
|
Tout à fait d'accord avec Christophe B...
isEmail = function(emailStr) {
var checkTLD = 1;
var knownDomsPat = /^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum|fr)$/;
var emailPat = /^(.+)@(.+)$/;
var specialChars = "\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
var validChars = "\[^\\s" + specialChars + "\]";
var quotedUser = "(\"[^\"]*\")";
var ipDomainPat = /^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
var atom = validChars + '+';
var word = "(" + atom + "|" + quotedUser + ")";
var userPat = new RegExp("^" + word + "(\\." + word + ")*$");
var domainPat = new RegExp("^" + atom + "(\\." + atom +")*$");
var matchArray = emailStr.match(emailPat);
if (matchArray == null) { return false; }
var user = matchArray[1];
var domain = matchArray[2];
for (i=0; i<user.length; i++) {
if (user.charCodeAt(i) > 127) { return false; }
}
for (i=0; i<domain.length; i++) {
if (domain.charCodeAt(i) > 127) { return false; }
}
if (user.match(userPat) == null) { return false; }
var IPArray=domain.match(ipDomainPat);
if (IPArray != null) {
for (var i=1; i<=4; i++) {
if (IPArray[i] > 255) { return false; }
}
return true;
}
var atomPat = new RegExp("^" + atom + "$");
var domArr = domain.split(".");
var len = domArr.length;
for (i=0; i<len; i++) {
if (domArr[i].search(atomPat) == -1) { return false; }
}
if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1) { return false; }
if (len < 2) { return false; }
return true;
}
Cette fonction renvoit un booléen : false en cas d'échec, true si la syntaxe de l'adresse est exacte (ce qui ne veut pas dire qu'elle existe). Disons que ça évite bon nombre d'erreurs de frappe et comme le fait remarquer Christophe B., ça ne dispense pas de faire d'autres tests coté serveur une fois le formulaire soumis... Petite précision sur la fonction (qui fonctionne très bien sur mes sites depuis des années). Les extensions de domaines définnies au début (.com, .net, etc...) n'ont pas besoin d'etre étendues. Par exemple une adresse email anglaise du type "myaddress@mysite.co.uk" est très bien comprise... Pour ceux qui s'intéressent de près au Javascript, je préconise de vous pencher sur d'excellentes solutions comme Prototype et/ou Scriptaculous qui font des merveilles et rendent la programmation dans ce langage plus facile. Par contre si c'est juste pour vérifier la syntaxe d'une adresse email, c'est clair que c'est pas très rentable...
|
Personne pour m'aider ???? Help !
|
Une fonction simple pour tester la validité d'un adresse mail en javascript... Moins compliquée que celle de Kharma, mais largement suffisante à mon avis...
function bonmail(mailteste)
{
var reg = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*[\.]{1}[a-z]{2,6}$', 'i');
if(reg.test(mailteste))
{
return(true);
}
else
{
return(false);
}
}
Cette fonction javascript teste qu'une adresse mail est syntaxiquement correcte... |
Tous les tests d'intégrité de donnée doivent toujours être effectué par le serveur pour des raisons de sécurité.
|
Il faudrait arrêter de dire n'importe... Les champs d'un formulaire doivent être Checké avant le Submit ET après.
|
Et l'accessibilité dans tout ça?
|
Sans parler de l'accessibilité navigateur, il y a aussi l'accessibilité pour les personnes aveugles et malvoyantes.
|