Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/02/2011, 09h15   #1
Invité régulier
 
Inscription : avril 2006
Messages : 44
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 44
Points : 8
Points : 8
Par défaut Limitation de saisie de caractères

Bonjour,

J'ai besoin d'un coup de pouce. Je dois autoriser certains caractères qui sont les suivants
Citation:
abcdefghijklmnopqrstuvwxyzàâäãçéèêîïìñôöòùûüÿ-[><€()=,« ... »]
et refuser tous les autres.
Je cherche donc à mettre en place une fonction javascript, j'ai fais ceci je ne sais pas si c'est bon et il me manque les caractères [] et € à autoriser. comment placer tout cela?

Code :
1
2
3
4
5
6
 
 
if ( document.forms[0].lib.value != '' && ! verifString(document.forms[0].lib.value, "^[A-Za-z0-9\ ':./()<>,\"=àäâéèëêïîôûüç-]*$" )){
alert("Les caractères autorisés :\n    abcdefghijklmnopqrstuvwxyzàâäãçéèêîïìñôöòùûüÿ-[><\u20AC()=,« ... »]");
return false;
}
nawal106 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 09h33   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
elle est magique ta fonction verifString ??
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 09h40   #3
Invité régulier
 
Inscription : avril 2006
Messages : 44
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 44
Points : 8
Points : 8


Elle a cette tête là :

Code :
1
2
3
4
5
6
 
 
function verifString( valeur, strregex ) {
	regex = new RegExp(strregex,"g");
	return regex.test(valeur);
}
nawal106 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 09h46   #4
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
oui je m'en doutais bien ...
C'était juste pour la précision:

deux remarques:
* pourquoi passer la reg en string et pas directement en regexp ?
* les caractères [] doivent être echappés .. enfin du moins pour le fermant...

ce qui devrait donner ceci pour l'appel
Code :
if ( document.forms[0].lib.value != '' && ! verifString(document.forms[0].lib.value, /^[A-Za-z0-9\ ':./()<>,\"=àäâéèëêïîôûüç-[\]]*$/ )){
et ceci pour la fonction:

Code :
1
2
3
4
function verifString( valeur, regex ) {
 
	return regex.test(valeur);
}
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 10h07   #5
Invité régulier
 
Inscription : avril 2006
Messages : 44
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 44
Points : 8
Points : 8
Merci!

Souci cela m'autorise le caractère $, ca ne devrait pas normalement...
nawal106 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 10h11   #6
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
ha ben si normal
j'avais pas fait gaffe à ça...

Code :
if ( document.forms[0].lib.value != '' && ! verifString(document.forms[0].lib.value, /^[A-Za-z0-9\ ':./()<>,\"=àäâéèëêïîôûüç[\]-]*$/ )){
"-" indique un range de caractères sauf si il est placé en fin de classe
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/02/2011, 11h36   #7
Invité régulier
 
Inscription : avril 2006
Messages : 44
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 44
Points : 8
Points : 8
Alors j'ai mis :

Code :
1
2
3
 
 
"^[A-Za-z0-9\ ':./()<>\[\\],\"=àâäãçéèêîïìñôöòùûüÿ-]*$"
Et je dois inclure dans cette regexp le symbole euro €
nawal106 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 12h04   #8
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
Si tu avais au moins suivi mes conseils ....
ça c'est pas tout a fait mais presque n'importe quoi ...



Code :
1
2
3
4
5
6
7
function verifString( valeur, regex ) {
 
	return regex.test(valeur);
}
 
alert( verifString('deux  €',/^[A-Za-z0-9\ ':./()<>[\],\"=àâäãçéèêîïìñôöòùûüÿ€-]*$/ ) )
alert( verifString('deux  @',/^[A-Za-z0-9\ ':./()<>[\],\"=àâäãçéèêîïìñôöòùûüÿ€-]*$/ ) )
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 12h09   #9
Expert Confirmé
 
Avatar de javatwister
 
Homme
danseur
Inscription : août 2003
Messages : 2 667
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : danseur

Informations forums :
Inscription : août 2003
Messages : 2 667
Points : 3 035
Points : 3 035
j'avais pas compris que tu autorisais les chiffres...
javatwister est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 12h40   #10
Expert Confirmé
 
Avatar de javatwister
 
Homme
danseur
Inscription : août 2003
Messages : 2 667
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : danseur

Informations forums :
Inscription : août 2003
Messages : 2 667
Points : 3 035
Points : 3 035
allez, je m'amuse aussi:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
<script type="text/javascript">
 
var ch="Tout ce que tu veux mon gars, même des espaces et des &#$!";
 
var reg=/[a-zàâäãçéèêîïìñôöòùûüÿ[><€()=,«»"\] -]/gi
 
var ch2=ch.replace(reg,"|");
 
if(ch2.match(/\|/gi).length!=ch.length){
	alert("Rappel: vous n'avez droit qu'aux caractères suivants:\n\n" + reg.source.substring(1,reg.source.length-1).replace("\\",""))
}
 
</script>
javatwister est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h48.


 
 
 
 
Partenaires

Hébergement Web