Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2936 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Repérer un caractere dans une chaine de caractere .. g un bug [RESOLU]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Repérer un caractere dans une chaine de caractere .. g un bug [RESOLU]

n°190633
cybercouf
Posté le 06-08-2002 à 12:06:34  profilanswer
 

Code :
  1. else if(document.Formulaire.prodname_eng.value!=='')
  2. {
  3.      var a=document.Formulaire.prodname_eng.value;
  4.      var test="" + a;
  5.      for(var k = 0; k < test.length;k++)
  6.      {
  7.      var c = test.substring(k,k+1);
  8.      if(c == "\" )
  9.      { alert("Votre E-mail, Merci" ); }
  10.      }
  11. }
  12. else


 
c`est a l`intérieur de ma fonction qui vérifie mon formulaire avant de l`envoyer, et donc je veux voire si la variable prodname_eng contient ou pas le caractere antslash /  mais le code tel quel ne fonctinne pas  :(


Message édité par cybercouf le 06-08-2002 à 19:10:23
mood
Publicité
Posté le 06-08-2002 à 12:06:34  profilanswer
 

n°190659
cybercouf
Posté le 06-08-2002 à 12:30:45  profilanswer
 

:cry:

n°190709
kayasax
Posté le 06-08-2002 à 14:04:06  profilanswer
 

désolé je n'arrive pas a descpecialier le "\" en js  
sinon avec ce code tu peux rechercher "\ "
<script language="JavaScript">
<!--
var chaine="coucou c\a va?";
var search='\ ';
for(i=0;i<=chaine.length;i++)
{
if(chaine.charAt(i)==search)
{alert('caractere detecte';);}
}
//-->
</script>
 
 
en PHP je sais que pour despecialiser le \ il faut utiliser [\\] mais ca marche po en JS


---------------
All we need is a soul revolution
n°190717
kayasax
Posté le 06-08-2002 à 14:17:56  profilanswer
 

j'ai trouvé ca http://www.laltruiste.com/coursjav [...] ctere.html mais meme en recherchant le code hexa de \ ca marche po ... :(


Message édité par kayasax le 06-08-2002 à 14:18:25

---------------
All we need is a soul revolution
n°190745
_Mac_
Posté le 06-08-2002 à 15:08:07  profilanswer
 

Je te propose de remplacer directement ta boucle for par le if :
 
else if(document.Formulaire.prodname_eng.value!=='';)
  {
         var a=document.Formulaire.prodname_eng.value;
         var test="" + a;
         if(test.indexOf("\\" ) > 0)
           { alert("Votre E-mail, Merci" ); }
         }
  }
  else
 
dans le indexOf, je test sur 2 backslashs consécutifs, comme en PHP.

n°190774
kayasax
Posté le 06-08-2002 à 15:43:53  profilanswer
 

t'es sur de ton code la?? moi ca marche pa :heink:  
<script language="JavaScript">
<!--
var chaine="coucou c \ a va?";
if(chaine.indexOf("\\" ) > 0)
          { alert('Votre E-mail Merci';); }
//-->
</script>
 

_Mac_ a écrit a écrit :

Je te propose de remplacer directement ta boucle for par le if :
 
else if(document.Formulaire.prodname_eng.value!=='';)
  {
         var a=document.Formulaire.prodname_eng.value;
         var test="" + a;
         if(test.indexOf("\\" ) > 0)
           { alert("Votre E-mail, Merci" ); }
         }
  }
  else
 
dans le indexOf, je test sur 2 backslashs consécutifs, comme en PHP.




Message édité par kayasax le 06-08-2002 à 16:00:17

---------------
All we need is a soul revolution
n°190781
misterping​uin
Posté le 06-08-2002 à 15:52:06  profilanswer
 

_Mac_ a écrit a écrit :

Je te propose de remplacer directement ta boucle for par le if :
 
else if(document.Formulaire.prodname_eng.value!=='';)  :non:  
  {
         var a=document.Formulaire.prodname_eng.value;
         var test="" + a;
         if(test.indexOf("\\" ) > 0)
           { alert("Votre E-mail, Merci" ); }
         }
  }
  else
 
dans le indexOf, je test sur 2 backslashs consécutifs, comme en PHP.




Message édité par misterpinguin le 06-08-2002 à 15:52:21
n°190828
cybercouf
Posté le 06-08-2002 à 16:28:16  profilanswer
 

héhé bien vu le pingouin  ;)  
donc !== pour différent c`est faux? c`est fort possible que je me soit gouré car je ne savait pas quelle était la syntax pour diférent de, donc j`ai mis un ! devant un peu comme en php.
 
mais donc c`est quoi la bonne syntaxe?

n°190837
cybercouf
Posté le 06-08-2002 à 16:36:54  profilanswer
 

en tout cas meme si je mets juste == j`ai toujours l`erreur idem avec le code de _mac_ bizard  :heink:
y`aurais pas un truc genre pas le droit de faire un if(){ dans un else if(){ ?

n°190842
kayasax
Posté le 06-08-2002 à 16:40:28  profilanswer
 

la bonne syntaxe c'est !=
 
mais la ou tu vas avoir un pb c'est pour ton test :  
if(c == "\" )  
-> il va te mettre chaine non terminee ...
 
 
 

cybercouf a écrit a écrit :

héhé bien vu le pingouin  ;)  
donc !== pour différent c`est faux? c`est fort possible que je me soit gouré car je ne savait pas quelle était la syntax pour diférent de, donc j`ai mis un ! devant un peu comme en php.
 
mais donc c`est quoi la bonne syntaxe?




---------------
All we need is a soul revolution
mood
Publicité
Posté le 06-08-2002 à 16:40:28  profilanswer
 

n°190894
cybercouf
Posté le 06-08-2002 à 17:17:35  profilanswer
 

hum ok, en effet si je remplace / par une lettre il detecte bien la lettre
par contre je vois pas comment lui faire avaler le /   :??: !!
 
je pense que c`est le meme pb avec le code de _mac_

n°190913
zetoune
Posté le 06-08-2002 à 17:25:31  profilanswer
 

Tiens ca, ca marche...
 
 
function PasDAntiSlash(MaChaine)
{
 var tab=MaChaine.match(/\\/)
 if (tab==null)
  return false  
 else
  return true
}

n°190934
cybercouf
Posté le 06-08-2002 à 17:35:54  profilanswer
 

ok, finalement ca marches en mettant "//" a la place de "/", en fait c normal je viens de lire le truc sur les caracteres spéciaux, comme /" veux dire guillemet c pour ca, et // correspondant a l`anti slash ca marches  :)  
 
par contre si il ne repere pas de / dans la chaine il ne veux pas continuer et executer le else suivant  

Code :
  1. <script language="JavaScript">
  2. <!--
  3. function ControleVide()
  4. {
  5. if(document.Formulaire.prodname_eng.value=='')
  6. {
  7. alert('You must enter a product name (in english) !');
  8. document.Formulaire.prodname_eng.focus();
  9. }
  10. else if(document.Formulaire.prodname_eng.value!='')
  11. {
  12.      var a=document.Formulaire.prodname_eng.value;
  13.      var test="" + a;
  14.          for(var k = 0; k < test.length;k++)
  15.          {
  16.            var c = test.substring(k,k+1);
  17.            if(c == "\\" )
  18.      { alert("Caractere interdit" ); }
  19.      }
  20. }
  21. else  // Heu.. c`est celui la qui est ROUGE ;-)
  22. {document.Formulaire.method = "POST";
  23. document.Formulaire.action = "prodadd.php";
  24. document.Formulaire.submit();
  25. }
  26. else
  27. {
  28. document.Formulaire.method = "POST";
  29. document.Formulaire.action = "prodadd.php";
  30. document.Formulaire.submit();
  31. }
  32. }
  33. //-->
  34. </script>

j`ai du me gourer qq part?


Message édité par cybercouf le 06-08-2002 à 17:50:38
n°190938
zetoune
Posté le 06-08-2002 à 17:38:42  profilanswer
 

ajouter des accolades pour ton premier else..

n°190941
cybercouf
Posté le 06-08-2002 à 17:45:44  profilanswer
 

du coup ca me fait une erreur..

n°190943
zetoune
Posté le 06-08-2002 à 17:46:35  profilanswer
 

c'est quoi ton erreur ?

n°190945
cybercouf
Posté le 06-08-2002 à 17:49:49  profilanswer
 

j`ai mis a jour le code au dessus pour mieux voire l`ensemble,  
donc si je rajoute de { } apres le else qui est au dessus du else rouge ben ca me mets l`erreur "syntax error" et le debugger me pointe le else rouge

n°190948
zetoune
Posté le 06-08-2002 à 17:55:19  profilanswer
 

function ControleVide()
{
    if(document.Formulaire.prodname_eng.value=='';)
    {
      alert('You must enter a product name (in english) !';);
      document.Formulaire.prodname_eng.focus();
    }
    else
    {
       if(document.Formulaire.prodname_eng.value!='';)
       {
           var a=document.Formulaire.prodname_eng.value;
           var test="" + a;
               for(var k = 0; k < test.length;k++)
               {
                   var c = test.substring(k,k+1);
                   if(c == "\\" )
                   {alert("Caractere interdit" ); }
               }
       }
       else // Heu.. c`est celui la qui est ROUGE ;-)
       {document.Formulaire.method = "POST";
        document.Formulaire.action = "prodadd.php";
        document.Formulaire.submit();
       }
    }
 }
 
 
 
et comme ca , ca plante ?
PS : tu avais un else en trop je pense

n°190950
cybercouf
Posté le 06-08-2002 à 18:13:53  profilanswer
 

en remettant les { } ou il faut ca marches mais il veux plus poster a la fin.
 
---ajout suite a une reflexion---
ha je viens de piger mon erreur, ce que je t fillé n`est q`un extrait et en fait y`as plus de else que ca car je vérifie d`autres champs que prodname_eng, du coup avec tout ces embrications je me suis planté a la fin, j`ai mis
 
else { if(document.Formulaire.prodname_eng.value!='';)
{ ... }
else { document.Formulaire.method = "POST";  
 
donc quand ma variable est non vide il ne vas pas poster le forumulaire  :D  belle erreure de logique, donc tu as parfaitement raison y`as un else de trop , merci de ton aide  :jap:  :hello:


Message édité par cybercouf le 06-08-2002 à 18:19:19

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Repérer un caractere dans une chaine de caractere .. g un bug [RESOLU]

 

Sujets relatifs
question toute simple, comment arrondir une valeur? [RESOLU][VB(A)] index de composants(résolu)
JS --> fermer popup + refresh de la page en dessous (auto-résolu)[Jdk1.3.1]Comment obtenir un InputStream sur un StringBuffer [RESOLU]
Problème de frames : ciblage absolu d'une image (Résolu)[MERCI RESOLU] shell sh....AWK grace au melange d'idees
verifier si une chaine est uniquement constituer de nombre ?appeler une fct JS apres selection d`un choix multiple ? [RESOLU]
[HTML] Dans une frame........... [RESOLU MAIS PAS BEAU]fonction js script que renverse une chaine de caractere
Plus de sujets relatifs à : Repérer un caractere dans une chaine de caractere .. g un bug [RESOLU]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR