je viens d'ajouter ta ligne avant le strim et sa ne fonctionne pas
je viens d'ajouter ta ligne avant le strim et sa ne fonctionne pas
Justement oni, en réalisant un strim, je supprime tous mes espaces mais je garde mes caractères. La seule chose que ej veux c'est que ma chaine ne contienne ni espaces ni caractères spéciaux. Les caractères normaux je les garde
Fait une petit recherche sur les regex.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 function Valid() { if(document.formserv) { var str = document.formserv.serv.value; str=str.replace(/[\s\\*-]/g,"");; if(str == "") { alert("Erreur de saisie"); return false; } else return true; } }
A+.
J'ai essayé ta solution mais le résultat est toujours true
Je vient de tester, ça fontionne nickel avec les caractères que tu voulais supprimer
Sinon, peut-on voir ton code html qui va avec?
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 <html> <head> <script type="text/javascript"> function Valid() { if(document.formserv) { var str = document.formserv.serv.value; str=str.replace(/[\s\\*-]/g,"");; if(str == "") { alert("Erreur de saisie"); return false; } else return true; } } </script> </head> <body> <form name="formserv" onsubmit="return Valid()"> <input type="text" name="serv"/><br/> <input type="submit" value="test"/> </form> </body> </html>
A+.
Effectivement ton code marche. Désolé une mauvaise écriture. Par contre je souhaiterais savoir la syntaxe pour écrire tous les caractères que je veux supprimer de str car je souhaite supprimer tous les caractères "spéciaux" comme ;,?!/\@àç, etc...
La première des choses est avant tout de définir exactement quels caractères tu veux garder au final, parce que là, on est loin de ta demande initiale
Bref, si tu ne veux garder que les lettres non accentuées et les chiffres, je te conseille plutôt de faire le contraire : supprimer tout ce qui n'est pas ce que tu souhaites et pour ça, les expressions régulières possèdent des classes prédéfinies.Supprimer les espaces d'une chaine de caractères
Code : Sélectionner tout - Visualiser dans une fenêtre à part str = str.replace(/\W_/g, '');
Effectivement mon nom de discussion n'est pas complètement le bon :/
En réalité je souhaite garder que les caractères non accentués sans les chiffres. Plus tard il faudra que je vérifie l'existence de cette chaine de caractère dans ma bdd mais sa c'est un autre problème.
Dans ce cas, ce sera plutôt
Code : Sélectionner tout - Visualiser dans une fenêtre à part str = str.replace(/[^a-z]/gi, '');
Tu gagneras du temps et de connaissance en lisant un tutoriel sur le regex qu'en attendant de code tout fait ici.
A+.
Merci beaucoup sa marche niquel ! Je suis en train de lire les tutos sur les regex mais j'ai énormément de mal à comprendre.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager