Mot interdit dans un imput
Chris
-
Chris -
Chris -
Bonjour,
Je cherche en vain une fonction js me permettant d'interdire certaines adresses mail dans l'input d'un formulaire.
J'ai cherché une fonction interdisant certain mot pour l'adapter mais je ne trouve rien de fonctionnel.
Y a t'il possibilité d'interdire certains mots dans un input pour empêcher la validation de certaines adresses et de ce fait l'envoi du formulaire? (comme interdire les mots hotmail ou msn après le @ )?
Merci d'avance
Amicalement,
Chris
Je cherche en vain une fonction js me permettant d'interdire certaines adresses mail dans l'input d'un formulaire.
J'ai cherché une fonction interdisant certain mot pour l'adapter mais je ne trouve rien de fonctionnel.
Y a t'il possibilité d'interdire certains mots dans un input pour empêcher la validation de certaines adresses et de ce fait l'envoi du formulaire? (comme interdire les mots hotmail ou msn après le @ )?
Merci d'avance
Amicalement,
Chris
A voir également:
- Mot interdit dans un imput
- Mot de passe - Guide
- Trousseau mot de passe iphone - Guide
- Mot de passe administrateur - Guide
- Mot de passe bios perdu - Guide
- Mettre un mot de passe sur un dossier - Guide
11 réponses
Tout d'abord merci pour ta réponse.
Le formulaire que j'utilise est un cgi_bin fourni par mon hébergeur, donc je n'y ai pas accès.
Je peux uniquement ajouter des fonctions javascript sur ma page, ce que j'ai d'ailleurs fait pour vérifier la forme de l'adresse mail et si tous les champs étaient bien remplis et empêcher l'envoi du formulaire si ces conditions n'étaient pas le cas.
Je souhaite donc trouver un script à ajouter me permettant d'interdire l'écriture de certains mots (en l'occurrence hotmail, msn ...) dans le champ email et empêcher l'envoi du formulaire si ces adresses sont indiquées.
Amicalement,
Chris
Le formulaire que j'utilise est un cgi_bin fourni par mon hébergeur, donc je n'y ai pas accès.
Je peux uniquement ajouter des fonctions javascript sur ma page, ce que j'ai d'ailleurs fait pour vérifier la forme de l'adresse mail et si tous les champs étaient bien remplis et empêcher l'envoi du formulaire si ces conditions n'étaient pas le cas.
Je souhaite donc trouver un script à ajouter me permettant d'interdire l'écriture de certains mots (en l'occurrence hotmail, msn ...) dans le champ email et empêcher l'envoi du formulaire si ces adresses sont indiquées.
Amicalement,
Chris
Serait il possible d'insérer cette fonction dans la vérification de l'adresse mail avec un (hotmail|msn) par exemple?
Toutes mes tentatives sont infructueuses. Soit le formulaire ne fonctionne plus, soit toutes les adresses sont invalides. :(
J'avoue que je n'y connais strictement rien.
Mon code fonctionnel se présente ainsi actuellement:
function valideEmail(adr1) {
adresse1 = adr1;
if(adresse1 && !estVide(adresse1)) {
if(adresse1.length > 100)
erreurs.push('Cette adresse est trop longue');
var atom = "[!#-'*+\\-\\/-9=?A-Z^-~]+";
var regex_adresse =
new RegExp("^"+atom+"(\\."+atom+")*@"+atom+"(\\."+atom+")*\\.[a-zA-Z]{2,4}$");
if(adresse1.search(regex_adresse) != 0)
erreurs.push("- L'adresse Email ne semble valide.");
}
else if(champsObligatoires["E-mail"])
erreurs.push("- L'adresse Email est obligatoire.");
}
function confirmeEmail(adresse2) {
if(adresse2) {
if(adresse1 && (adresse2 != adresse1))
erreurs.push("- Les deux adresses Email ne correspondent pas.");
}
else if(champsObligatoires["email2"])
erreurs.push("- La confirmation de l'adresse Email est obligatoire.");
}
Merci d'avance.
Toutes mes tentatives sont infructueuses. Soit le formulaire ne fonctionne plus, soit toutes les adresses sont invalides. :(
J'avoue que je n'y connais strictement rien.
Mon code fonctionnel se présente ainsi actuellement:
function valideEmail(adr1) {
adresse1 = adr1;
if(adresse1 && !estVide(adresse1)) {
if(adresse1.length > 100)
erreurs.push('Cette adresse est trop longue');
var atom = "[!#-'*+\\-\\/-9=?A-Z^-~]+";
var regex_adresse =
new RegExp("^"+atom+"(\\."+atom+")*@"+atom+"(\\."+atom+")*\\.[a-zA-Z]{2,4}$");
if(adresse1.search(regex_adresse) != 0)
erreurs.push("- L'adresse Email ne semble valide.");
}
else if(champsObligatoires["E-mail"])
erreurs.push("- L'adresse Email est obligatoire.");
}
function confirmeEmail(adresse2) {
if(adresse2) {
if(adresse1 && (adresse2 != adresse1))
erreurs.push("- Les deux adresses Email ne correspondent pas.");
}
else if(champsObligatoires["email2"])
erreurs.push("- La confirmation de l'adresse Email est obligatoire.");
}
Merci d'avance.
Bonjour et merci beaucoup pour ton intervention manelsousse.
Mais lorsque j'ajoute ton script au mien actuel, mon formulaire ne fonctionne plus du tout. :(
Je n'ai indiqué ici que la partie de mon javascript vérifiant la validité de l'adresse mail.
Mais mon script actuel est bien plus long et sa fonction se nomme ainsi:
function valideForm(f)
Dans mon formulaire la fonction de vérification se présente ainsi:
<script type="text/javascript" src="js/verification_formulaire.js"></script>
<form method="post" action="http://perso0.free.fr/cgi-bin/form2mail.pl" name="formulaire" onsubmit="return valideForm(this);">
.....
<input value="Effacer" type="reset"> <input value="Envoyer" type="submit">
Mais lorsque j'ajoute ton script au mien actuel, mon formulaire ne fonctionne plus du tout. :(
Je n'ai indiqué ici que la partie de mon javascript vérifiant la validité de l'adresse mail.
Mais mon script actuel est bien plus long et sa fonction se nomme ainsi:
function valideForm(f)
Dans mon formulaire la fonction de vérification se présente ainsi:
<script type="text/javascript" src="js/verification_formulaire.js"></script>
<form method="post" action="http://perso0.free.fr/cgi-bin/form2mail.pl" name="formulaire" onsubmit="return valideForm(this);">
.....
<input value="Effacer" type="reset"> <input value="Envoyer" type="submit">
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Je suis vraiment nul en programmation et j'ai beau tourner dans tout les sens je n'arrive à rien.
Dans mon script donné plus haut, j'ai essayé en ajoutant ceci:
var mots_interdits =
new Array("hotmail","msn","yahoo");
if(adresse1.search(mots_interdits) == -1)
erreurs.push("- Adresse Email interdite.");
Ce qui donne dans la partie du script vérifiant l'adresse mail:
......
*/
function valideEmail(adr1) {
adresse1 = adr1;
if(adresse1 && !estVide(adresse1)) {
if(adresse1.length > 100)
erreurs.push('Cette adresse est trop longue');
var mots_interdits =
new Array("hotmail","msn","yahoo");
if(adresse1.search(mots_interdits) == -1)
erreurs.push("- Adresse Email interdite.");
var atom = "[!#-'*+\\-\\/-9=?A-Z^-~]+";
var regex_adresse =
new RegExp("^"+atom+"(\\."+atom+")*@"+atom+"(\\."+atom+")*\\.[a-zA-Z]{2,4}$");
if(adresse1.search(regex_adresse) != 0)
erreurs.push("- L'adresse Email ne semble valide.");
}
else if(champsObligatoires["E-mail"])
erreurs.push("- L'adresse Email est obligatoire.");
}
function confirmeEmail(adresse2) {
if(adresse2) {
if(adresse1 && (adresse2 != adresse1))
erreurs.push("- Les deux adresses Email ne correspondent pas.");
}
else if(champsObligatoires["email2"])
erreurs.push("- La confirmation de l'adresse Email est obligatoire.");
}
/*
.......
mais ça ne fonctionne toujours pas.
Plus aucune adresse ne passent. :(
Quelqu'un pourrait il m'aider s'il vous plait?
Merci
Je suis vraiment nul en programmation et j'ai beau tourner dans tout les sens je n'arrive à rien.
Dans mon script donné plus haut, j'ai essayé en ajoutant ceci:
var mots_interdits =
new Array("hotmail","msn","yahoo");
if(adresse1.search(mots_interdits) == -1)
erreurs.push("- Adresse Email interdite.");
Ce qui donne dans la partie du script vérifiant l'adresse mail:
......
*/
function valideEmail(adr1) {
adresse1 = adr1;
if(adresse1 && !estVide(adresse1)) {
if(adresse1.length > 100)
erreurs.push('Cette adresse est trop longue');
var mots_interdits =
new Array("hotmail","msn","yahoo");
if(adresse1.search(mots_interdits) == -1)
erreurs.push("- Adresse Email interdite.");
var atom = "[!#-'*+\\-\\/-9=?A-Z^-~]+";
var regex_adresse =
new RegExp("^"+atom+"(\\."+atom+")*@"+atom+"(\\."+atom+")*\\.[a-zA-Z]{2,4}$");
if(adresse1.search(regex_adresse) != 0)
erreurs.push("- L'adresse Email ne semble valide.");
}
else if(champsObligatoires["E-mail"])
erreurs.push("- L'adresse Email est obligatoire.");
}
function confirmeEmail(adresse2) {
if(adresse2) {
if(adresse1 && (adresse2 != adresse1))
erreurs.push("- Les deux adresses Email ne correspondent pas.");
}
else if(champsObligatoires["email2"])
erreurs.push("- La confirmation de l'adresse Email est obligatoire.");
}
/*
.......
mais ça ne fonctionne toujours pas.
Plus aucune adresse ne passent. :(
Quelqu'un pourrait il m'aider s'il vous plait?
Merci
Salut,
il faut que tu parcours l'array pour comparer je t'ai fait ça avec une methode un peu différente.
Il y a surement une autre methode avec les Regex, mais difficile à mettre en œuvre avec une liste de mots à vérifier
Tu peux rajouter autant de if que tu as d'input à verifier
Chez moi cet exemple fonctionne
@lain
il faut que tu parcours l'array pour comparer je t'ai fait ça avec une methode un peu différente.
Il y a surement une autre methode avec les Regex, mais difficile à mettre en œuvre avec une liste de mots à vérifier
Tu peux rajouter autant de if que tu as d'input à verifier
<html>
<script language="javascript" type="text/javascript" >
<!--
function valideForm(form_test){
var mots_interdits =new Array("hotmail","msn","yahoo");
this.form_test=form_test;
if(form_test.nom.value == "") {
alert("Veuillez entrer votre nom");
form_test.nom.focus();
return false;
}
if(form_test.email.value == "") {
alert("Veuillez entrer votre adresse email");
form_test.email.focus();
return false;
}
var exp=new RegExp("^[\\w\\-]+(\\.[\\w\\-]+)*@[\\w\\-]+(\\.[\\w\\-]+)*\\.[\\w\\-]{2,}$", "i");
if(form_test.email.value !="" && !exp.test(form_test.email.value)){
alert("Adresse email non valide ");
form_test.email.focus();
return false;
}
if(form_test.email.value !="" && exp.test(form_test.email.value)){
//si format d'adresse valide verif si autorise
var email=form_test.email.value;
var hote_cty=new Array();
hote_cty=email.split("@"); //decoupage adresse par rapport a @
//hote_cty[1] de la forme yahoo.fr
var hote=new Array();
hote=hote_cty[1].split("."); //separation par rapport au point
//hote[0] serra le nom de l'hote genre yahoo
//alert ("Hote= "+hote[0]);
//il faut parcourir l'array des interdits
for(i=0;i<mots_interdits.length;i++){
if(hote[0] == mots_interdits[i]){
//si on retouve hote parmi l'array
alert("Adresse email non autorisée ");
form_test.email.focus();
return false;
}
}
}
return true;
}
//-->
</script>
<form name="formulaire" method="post" action="form2mail.pl" onsubmit="return valideForm(this);">
Nom:<input type="text" name="nom" id="nom" value=""><br />
Email:<input type="text" name="email" id="email" value="">
<br /><br />
<input type="submit" name="envoyer" value="Envoyer" >
<input type="reset" name="effacer" value="Effacer" >
</html>
Chez moi cet exemple fonctionne
@lain
Bonjour et merci beaucoup alain_42 ;)
Le souci c'est que je ne sais pas comment adapter ton code au mien :(
Je rappelle que je n'y connais absolument rien en programmation, je bidouille un tout petit peu (vraiment un tout petit peu) en suivant des exemples et ça s'arrête là malheureusement.
Comment puis je faire?
Merci d'avance
Le souci c'est que je ne sais pas comment adapter ton code au mien :(
Je rappelle que je n'y connais absolument rien en programmation, je bidouille un tout petit peu (vraiment un tout petit peu) en suivant des exemples et ça s'arrête là malheureusement.
Comment puis je faire?
Merci d'avance
Salut,
tu mets ma partie fonction Javascript dans ton fichier .js, à la place de celui existant, ensuite tu rajoutes des
if(.....){
}
pour chacun des champs que tu veux verifier comme pour le "nom" mon l'exemple
et tu adaptes la partie html comme dans l'exemple
si tu n'y connais vraiement rien en prog ce serra dur ?
tu mets ma partie fonction Javascript dans ton fichier .js, à la place de celui existant, ensuite tu rajoutes des
if(.....){
}
pour chacun des champs que tu veux verifier comme pour le "nom" mon l'exemple
et tu adaptes la partie html comme dans l'exemple
si tu n'y connais vraiement rien en prog ce serra dur ?
pardon pour le retard de réponse et merci à toi
Le soucis c'est que ton code ne correspond pas au mien, il ne vérifie pas que la confirmation de l'adresse mail corresponde bien au premier champ de l'adresse mail fournie.
Y a t'il un moyen de rajouter cette fonction?
J'ai essayé en conservant le mien sans le modifier et en plaçant dans l'entete de ma page html:
<!--
function valideDomaine(f) {
var interdit = /\W(msn|hotmail)\.\w+$/i;
var pos = f.email.value.search(interdit);
if(pos > 0)
alert("Les adresses en "+f.email.value.substr(pos+1)+" sont refusées.");
return pos < 0;
}
-->
et en appelant cette nouvelle fonction de cette façon:
<form method="post" action="...cgi-bin/form2mail.pl" name="formulaire" onsubmit="return valideDomaine(this) && valideForm(this)";>
mais ça ne va pas, mon formulaire est envoyé sans plus aucune vérification (que les champs obligatoires soient remplis ou non, que l'adresse et sa confirmation soient correctes, interdites ou non).
Une idée?
Merci d'avance. :)
Le soucis c'est que ton code ne correspond pas au mien, il ne vérifie pas que la confirmation de l'adresse mail corresponde bien au premier champ de l'adresse mail fournie.
Y a t'il un moyen de rajouter cette fonction?
J'ai essayé en conservant le mien sans le modifier et en plaçant dans l'entete de ma page html:
<!--
function valideDomaine(f) {
var interdit = /\W(msn|hotmail)\.\w+$/i;
var pos = f.email.value.search(interdit);
if(pos > 0)
alert("Les adresses en "+f.email.value.substr(pos+1)+" sont refusées.");
return pos < 0;
}
-->
et en appelant cette nouvelle fonction de cette façon:
<form method="post" action="...cgi-bin/form2mail.pl" name="formulaire" onsubmit="return valideDomaine(this) && valideForm(this)";>
mais ça ne va pas, mon formulaire est envoyé sans plus aucune vérification (que les champs obligatoires soient remplis ou non, que l'adresse et sa confirmation soient correctes, interdites ou non).
Une idée?
Merci d'avance. :)
dans mon code:
"emai"l correspond au name ="....." de <input type="text" name="email" ...
donc si ça ne correspond pas chez toi change "email" dans la ligne du if par ce que tu as dans le name= de <input correspondant à ton champ d'adresse mail du formulaire
if(form_test.email.value !="" && exp.test(form_test.email.value)){
"emai"l correspond au name ="....." de <input type="text" name="email" ...
donc si ça ne correspond pas chez toi change "email" dans la ligne du if par ce que tu as dans le name= de <input correspondant à ton champ d'adresse mail du formulaire
Je me suis mal expliqué ...
Dans mon formulaire j'ai deux champs email (Adresse email - Confirmation de l'adresse email)
Mon code de vérification actuel vérifie que les deux adresses renseignées sont bien semblables, si ce n'est pas le cas, un message d'alerte le signale (les deux adresses ne correspondent pas).
function confirmeEmail(adresse2) {
if(adresse2) {
if(adresse1 && (adresse2 != adresse1))
erreurs.push("- Les deux adresses Email ne correspondent pas.");
}
else if(champsObligatoires["email2"])
erreurs.push("- La confirmation de l'adresse Email est obligatoire.");
}
Le code que tu me donnes n'a pas cette fonction, je me trompe?
Est il possible de l'ajouter?
Dans mon formulaire j'ai deux champs email (Adresse email - Confirmation de l'adresse email)
Mon code de vérification actuel vérifie que les deux adresses renseignées sont bien semblables, si ce n'est pas le cas, un message d'alerte le signale (les deux adresses ne correspondent pas).
function confirmeEmail(adresse2) {
if(adresse2) {
if(adresse1 && (adresse2 != adresse1))
erreurs.push("- Les deux adresses Email ne correspondent pas.");
}
else if(champsObligatoires["email2"])
erreurs.push("- La confirmation de l'adresse Email est obligatoire.");
}
Le code que tu me donnes n'a pas cette fonction, je me trompe?
Est il possible de l'ajouter?
pour rajouter cette fonction :
en partant du principe que tes deux champs mail ont comme name=
email
email2
en partant du principe que tes deux champs mail ont comme name=
email2
<script language="javascript" type="text/javascript" >
<!--
function valideForm(form_test){
var mots_interdits =new Array("hotmail","msn","yahoo");
this.form_test=form_test;
if(form_test.nom.value == "") {
alert("Veuillez entrer votre nom");
form_test.nom.focus();
return false;
}
if(form_test.email.value == "") {
alert("Veuillez entrer votre adresse email");
form_test.email.focus();
return false;
}
var exp=new RegExp("^[\\w\\-]+(\\.[\\w\\-]+)*@[\\w\\-]+(\\.[\\w\\-]+)*\\.[\\w\\-]{2,}$", "i");
if(form_test.email.value !="" && !exp.test(form_test.email.value)){
alert("Adresse email non valide ");
form_test.email.focus();
return false;
}
if(form_test.email1.value !="" && exp.test(form_test.email.value)){
//si format d'adresse valide verif si autorise
var email=form_test.emai.value;
var hote_cty=new Array();
hote_cty=email.split("@"); //decoupage adresse par rapport a @
//hote_cty[1] de la forme yahoo.fr
var hote=new Array();
hote=hote_cty[1].split("."); //separation par rapport au point
//hote[0] serra le nom de l'hote genre yahoo
//alert ("Hote= "+hote[0]);
//il faut parcourir l'array des interdits
for(i=0;i<mots_interdits.length;i++){
if(hote[0] == mots_interdits[i]){
//si on retouve hote parmi l'array
alert("Adresse email non autorisée ");
form_test.email.focus();
return false;
}
}
}
if(form_test.email2.value !="") {
if(form_test.email.value !="" && (form_test.email.value != form_test.email2.value))
erreurs.push("- Les deux adresses Email ne correspondent pas.");
}
else if(champsObligatoires["email2"])
erreurs.push("- La confirmation de l'adresse Email est obligatoire.");
}
return true;
}
//-->
</script>
utilser
function VerificationEmail(elm)
{
if (elm.value.indexOf("msn") == "-1" &&
elm.value.indexOf("hotmail") == "-1" &&
elm.value != "")
return true;
return false;
}
function controler()
if (VerificationEmail(document.form1.email) == false)
{
alert("Email non Valide.");
document.form1.email.focus();
return false;
}
et dans la creation de ton formulaire essaye
<form action="" method="post" name="form1" onSubmit="return controler()">
function VerificationEmail(elm)
{
if (elm.value.indexOf("msn") == "-1" &&
elm.value.indexOf("hotmail") == "-1" &&
elm.value != "")
return true;
return false;
}
function controler()
if (VerificationEmail(document.form1.email) == false)
{
alert("Email non Valide.");
document.form1.email.focus();
return false;
}
et dans la creation de ton formulaire essaye
<form action="" method="post" name="form1" onSubmit="return controler()">