Caractères spéciaux pour texte

Résolu
cs_askil2000
Messages postés
92
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
12 avril 2010
- 12 avril 2010 à 12:30
cs_askil2000
Messages postés
92
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
12 avril 2010
- 12 avril 2010 à 14:35
Bonjour,

J'essaye de faire un test en javascript :

^[-.,_ a-zA-Z0-9áàâäãéèêëíìîïóòôöõúùûüýÿÁÀÂÄÃÉÈÊËÍÌÎÏÓÒÔÖÕÚÙÛÜÝ:/?]{8,15}$

j'aimerais placer un \s pour autoriser les retours chariots, mais je ne sais pas ou le mettre ?

Merci de votre aide.

Cordialement, Alex

7 réponses

Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
12 avril 2010 à 13:54
tentes \\s JS n'aime peut etre pas ton \

>$*<%+=

etc...

genre :

^[^>$*<%+=]{8,15}$

Sinon, le plus simple n'est-li pas d'interdire ces caractères, plutot que d'autoriser les autres ?






Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
1
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
12 avril 2010 à 12:35
\r les retours chariots
\n new line
\t tab

parce que \s c'est en fait espaces, tabulations, sauts de lignes...

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
0
cs_askil2000
Messages postés
92
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
12 avril 2010

12 avril 2010 à 12:39
Bonjour Renfield,

Oui, tu as raison, je me suis mal exprimé, je voudrais placer un \s pour pouvoir insérer aussi les tabulations etc...

Merci.

Cordialement, Alex
0
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
12 avril 2010 à 13:09
suffit de placer ton \s entre tes crochets, comme n'importe quel caractère.

quels son, au final les caractères interdits pat ta regexp ?


Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_askil2000
Messages postés
92
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
12 avril 2010

12 avril 2010 à 13:44
J'ai une erreur javascript si je met \s dans les corchets :

Détails de l'erreur de la page Web

Agent utilisateur : Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.30729; InfoPath.2; WWTClient2)
Horodateur : Mon, 12 Apr 2010 11:41:24 UTC

Message : Plage incorrecte dans le jeu de caractères
Ligne : 349
Caractère : 7
Code : 0

^[\s-.,_ a-zA-Z0-9áàâäãéèêëíìîïóòôöõúùûüýÿÁÀÂÄÃÉÈÊËÍÌÎÏÓÒÔÖÕÚÙÛÜÝ:/?]{8,15}$

( j'veux interdire les >$*<%+= etc... )

Cordialement, Alex
0
cs_askil2000
Messages postés
92
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
12 avril 2010

12 avril 2010 à 14:13
Par mesure de sécurité, je préfère sélectionner les caractères autorisés.

Cela évite les injections de code par combinaison (brute force) dans le

cas ou j'oublie d'interdire un caractère qui ouvre une faille.

Biensure ma regex sera ensuite utilisée en php pour le control de ma

variable.

( le \\s ne fonctionne pas )


Cordialement, Alex
0
cs_askil2000
Messages postés
92
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
12 avril 2010

12 avril 2010 à 14:35
ok, c'était ça \\\s

je suis en echo (php)

j'ai repris le code en HTML simple :

<html>
<head>
<title>RegExp</title>
<script>
function verifTexte(myTexte) {
with(document.getElementById("resp")) {
var myReg=new RegExp("^[\\s-.,_a-zA-Z0-9áàâäãéèêëíìîïóòôöõúùûüýÿÁÀÂÄÃÉÈÊËÍÌÎÏÓÒÔÖÕÚÙÛÜÝ:/?]{8,15}$");
if(myReg.test(myTexte)) {innerHTML="oui"} else {innerHTML="non"}
}
}
</script>
</head>


non

<textarea name="texte" cols="40" rows="5" onkeyup="verifTexte(this.value)" onchange="verifTexte(this.value)"></textarea>

</html>

et ça fonctionne impec.

Merci Renfield.

@++
0