|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre chevronné
![]() Inscription : septembre 2008 Messages : 752 ![]() |
Bonjour à tout le monde, et surtout aux bonnes volontés qui passent beaucoup de temps à lire et résoudre les problèmes des autres.
Vous ne me connaissez probablement pas, étant donné que la dernière fois que j'ai posté sur Developpez c'est il y a 3 ans dans la section Visual Basic. J'ai commencé il y a quelques temps le développement d'un site web, et je m'attaque à la partie "Inscription" où je contrôle dynamiquement les champs avec jS. Tout ceci marchait super bien (de jolis cadres verts/rouges/oranges apparaissant et disparaissant en fonction des saisies, des champs activés/désactivés en fonction du radio coché) jusqu'à ce que je décide de rajouter les crochets dans l'expression régulière de contrôle de l'identifiant. Et là, j'ai lu des TONNES de tutos et autres questions similaires déjà posées sur le web: RIEN n'a pu m'aider. Dès que je rajoute les crochets dans l'expression régulière, de quelque manière que ce soit, le login est reconnu comme étant invalide (du moins le cadre d'erreur affiche systématiquement "login invalide" au lieu de "login valide" ou "4 caractères minimum", quel que soit le contenu du champ), et malheureusement je travaille actuellement sur un ordinateur coupé du web et non doté du module "web developper" pour firefox. Enfin bref, sans plus tarder, voici mon fichier de script jS. Vous me direz probablement que c'est mal foutu ou autre, j'accepte les critiques (constructives...), de toute façon le jS c'est pas ma spécialité et j'ai cherché à faire quelque chose de joli sans me casser la tête. Sachez juste que sans les crochets, ça marche nickel. Code :
__________________
Soyons bien clairs: - je ne télécharge pas les pièces jointes - je ne réponds pas aux MP d'ordre technique - je ne réponds pas aux questions concernant la syntaxe de base de VBA: vous avez les tutos et FAQ pour la maîtriser et au mieux je vous y oriente - je ne passe pas plus de 10-15 minutes à coder des éléments de solution pour vous aider, car moi aussi j'ai du travail, et n'espérez donc pas de ma part que je vous fournisse du code pour tout un système complet - la qualité de mes réponses dépend de celle de vos questions, alors posez des questions précises avec des informations complètes |
||
|
|
00
|
|
|
#2 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 001 ![]() |
et en les echappant avec \ ?
__________________
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 |
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Eric GaridacciInscription : septembre 2005 Messages : 1 057 ![]() |
Salut,
Code :
TestInscFieldChange('insc_login',0,'^[a-z0-9\'-]*$','none');
__________________
N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ... |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 802 ![]() |
Si j'ai bien compris, tu veux accepter les crochets dans le pattern ?
Si c'est ça, ton expression est mauvaise, il faut échapper les crochets à l'intérieur :
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
|
|
#5 |
|
Membre chevronné
![]() Inscription : septembre 2008 Messages : 752 ![]() |
Non, on ne peut (doit) pas les échapper à l'intérieur d'un intervalle de classe, c'est écrit noir sur blanc sur plusieurs sites. J'avais déjà essayé, et ça marche encore moins bien: le script plante et j'ai aucun cadre d'affichage d'erreur ou de validité.
J'ai lu je sais plus où que dans un tel cas il fallait mettre le crochet fermant au tout début de l'intervalle, et le crochet ouvrant n'importe où. Ce que je sais, c'est que ça marche pour le crochet ouvrant. Le problème principal, c'est ce fichu crochet fermant. J'avais aussi essayé un truc du style "([a-zA-Z0-9-]|\[|\])*", mais ça marche pas.
__________________
Soyons bien clairs: - je ne télécharge pas les pièces jointes - je ne réponds pas aux MP d'ordre technique - je ne réponds pas aux questions concernant la syntaxe de base de VBA: vous avez les tutos et FAQ pour la maîtriser et au mieux je vous y oriente - je ne passe pas plus de 10-15 minutes à coder des éléments de solution pour vous aider, car moi aussi j'ai du travail, et n'espérez donc pas de ma part que je vous fournisse du code pour tout un système complet - la qualité de mes réponses dépend de celle de vos questions, alors posez des questions précises avec des informations complètes |
|
|
00
|
|
|
#6 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 001 ![]() |
__________________
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 |
|
|
00
|
|
|
#7 |
|
Membre chevronné
![]() Inscription : septembre 2008 Messages : 752 ![]() |
A l'extérieur d'une classe oui, mais PAS à l'intérieur d'une classe: les caractères crochets sont soumis à des règles particulières à l'intérieur d'un intervalle, enfin d'après ce que j'ai pu lire. Je sais pas si j'ai le droit de quoter un site externe pour appuyer mes dires... je me souviens plus trop de la politique de Developpez par rapport à ça.
Si oui, je vous posterais volontiers le lien.
__________________
Soyons bien clairs: - je ne télécharge pas les pièces jointes - je ne réponds pas aux MP d'ordre technique - je ne réponds pas aux questions concernant la syntaxe de base de VBA: vous avez les tutos et FAQ pour la maîtriser et au mieux je vous y oriente - je ne passe pas plus de 10-15 minutes à coder des éléments de solution pour vous aider, car moi aussi j'ai du travail, et n'espérez donc pas de ma part que je vous fournisse du code pour tout un système complet - la qualité de mes réponses dépend de celle de vos questions, alors posez des questions précises avec des informations complètes |
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() Inscription : octobre 2003 Messages : 2 886 ![]() |
Salut,
Tu utilises l'objet RegExp plutôt que la forme littérale. Dans ce cas tu dois doubler le caractère \ d'échappement. Ce qui donne \\[ plutôt que \[. edit : ah ben j'avais déjà donné la réponse! decondelite il n'y a pas de classe en javascript, il n'y a que des objets. |
|
|
00
|
|
|
#9 | ||
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 802 ![]() |
Code :
Et oui, désolé pour l'oubli du double échappement
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
||
|
00
|
|
|
#10 | ||
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 001 ![]() |
dans le lien donné ils sont bien à l'intérieur de la classe ...
Code :
__________________
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 |
||
|
|
00
|
|
|
#11 |
|
Membre chevronné
![]() Inscription : septembre 2008 Messages : 752 ![]() |
EDIT: je m'étais planté dans le remplacement, ça marche effectivement avec le double échappement. Ceci dit, SEUL le crochet fermant doit être double échappé: on peut s'en passer pour le crochet ouvrant.
J'utilise ceci du coup: '[\\]a-z0-9\'[]'
__________________
Soyons bien clairs: - je ne télécharge pas les pièces jointes - je ne réponds pas aux MP d'ordre technique - je ne réponds pas aux questions concernant la syntaxe de base de VBA: vous avez les tutos et FAQ pour la maîtriser et au mieux je vous y oriente - je ne passe pas plus de 10-15 minutes à coder des éléments de solution pour vous aider, car moi aussi j'ai du travail, et n'espérez donc pas de ma part que je vous fournisse du code pour tout un système complet - la qualité de mes réponses dépend de celle de vos questions, alors posez des questions précises avec des informations complètes |
|
|
00
|
|
|
#12 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 001 ![]() |
si tu as besoin de deux caractères d'echappement c'est que tu rediges ton js avec php ?
__________________
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 |
|
|
00
|
|
|
#13 | |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 802 ![]() |
Citation:
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
|
00
|
|
|
#14 | ||||||
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 001 ![]() |
heu tu fais un test ...
et pas un match ... Code :
Code :
Code :
__________________
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 |
||||||
|
|
00
|
|
|
#15 |
|
Membre chevronné
![]() Inscription : septembre 2008 Messages : 752 ![]() |
Désolé, j'ai édité pendant que vous postiez... J'ajoute juste que c'est dans ce genre de situation que je me dis que j'ai beau avoir 6 ans d'expérience de codage dans 5-6 langages différents, je suis toujours un noob...
__________________
Soyons bien clairs: - je ne télécharge pas les pièces jointes - je ne réponds pas aux MP d'ordre technique - je ne réponds pas aux questions concernant la syntaxe de base de VBA: vous avez les tutos et FAQ pour la maîtriser et au mieux je vous y oriente - je ne passe pas plus de 10-15 minutes à coder des éléments de solution pour vous aider, car moi aussi j'ai du travail, et n'espérez donc pas de ma part que je vous fournisse du code pour tout un système complet - la qualité de mes réponses dépend de celle de vos questions, alors posez des questions précises avec des informations complètes |
|
|
00
|
|
|
#16 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 001 ![]() |
Oui enfin les regexp c'est particulier tout de même ...
__________________
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 |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com