Caractères spéciaux pour texte [Résolu]

cs_askil2000 98 Messages postés lundi 8 mars 2004Date d'inscription 12 avril 2010 Dernière intervention - 12 avril 2010 à 12:30 - Dernière réponse : cs_askil2000 98 Messages postés lundi 8 mars 2004Date d'inscription 12 avril 2010 Dernière intervention
- 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
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Renfield 17308 Messages postés mercredi 2 janvier 2002Date d'inscription 22 août 2018 Dernière intervention - 12 avril 2010 à 13:54
3
Merci
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

Merci Renfield 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de Renfield
Renfield 17308 Messages postés mercredi 2 janvier 2002Date d'inscription 22 août 2018 Dernière intervention - 12 avril 2010 à 12:35
0
Merci
\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
Commenter la réponse de Renfield
cs_askil2000 98 Messages postés lundi 8 mars 2004Date d'inscription 12 avril 2010 Dernière intervention - 12 avril 2010 à 12:39
0
Merci
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
Commenter la réponse de cs_askil2000
Renfield 17308 Messages postés mercredi 2 janvier 2002Date d'inscription 22 août 2018 Dernière intervention - 12 avril 2010 à 13:09
0
Merci
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
Commenter la réponse de Renfield
cs_askil2000 98 Messages postés lundi 8 mars 2004Date d'inscription 12 avril 2010 Dernière intervention - 12 avril 2010 à 13:44
0
Merci
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
Commenter la réponse de cs_askil2000
cs_askil2000 98 Messages postés lundi 8 mars 2004Date d'inscription 12 avril 2010 Dernière intervention - 12 avril 2010 à 14:13
0
Merci
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
Commenter la réponse de cs_askil2000
cs_askil2000 98 Messages postés lundi 8 mars 2004Date d'inscription 12 avril 2010 Dernière intervention - 12 avril 2010 à 14:35
0
Merci
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.

@++
Commenter la réponse de cs_askil2000

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.