begin process at 2010 03 21 20:17:15
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > VÉRIFIER UN PALINDROME AVEC DES MANIPULATIONS DE CHAINE DE CARACTÈRES

VÉRIFIER UN PALINDROME AVEC DES MANIPULATIONS DE CHAINE DE CARACTÈRES


 Information sur la source

Note :
3,2 / 10 - par 5 personnes
3,20 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :palindrome, string Niveau :Débutant Date de création :12/03/2005 Date de mise à jour :28/11/2005 01:02:21 Vu :5 714

Auteur : Arto_8000

Ecrire un message privé
Site perso
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

Mot code en gros sert à vérifier si votre chaine de caractères est un palindrome. J'ai réussi à faire mon code de façon à ce que l'on puisse ajouter un point, des majuscules ,les accents et des espaces sans modifier le résultat finale. La seule chose que ça ne vérife pas c'est si le mot existe.

Source

  • <HTML>
  • <HEAD>
  • <TITLE>Palindrome </TITLE>
  • <SCRIPT language="javascript">
  • function vérifiéPhrase(phrase)
  • {
  • phrases = new String(phrase) // Initie le string
  • phrases = phrases.toLowerCase() // Met tout les caractères en minuscule
  • var len = phrases.length; // Initie le longeur du string ( seulement pour la boucle qui suit )
  • //for (i=0;i<len;i++) // Enlève les caractères inutiles et remplace les accents
  • caractere_spec = new Array (" ",".",",","!","?","-","_","\\","'","(",")","$","&","%","*")
  • lettre_a = new Array("à","â","ä")
  • lettre_e = new Array("è","é","ê","ë")
  • lettre_i = new Array("ì","î","ï")
  • lettre_o = new Array("ò","ô","ö")
  • lettre_u = new Array("ù","û","ü")
  • for (i=0;i<caractere_spec.length;i++)
  • {
  • for (x=0;x<len;x++)
  • {
  • phrases = phrases.replace(caractere_spec[i],"")
  • if (phrases.indexOf(caractere_spec[i],0) < 0) break;
  • }
  • }
  • for (i=0;i<lettre_a.length;i++)
  • {
  • for (x=0;x<len;x++)
  • {
  • phrases = phrases.replace(lettre_a[i],"a")
  • if (phrases.indexOf(lettre_a[i],0) < 0) break;
  • }
  • }
  • for (i=0;i<lettre_e.length;i++)
  • {
  • for (x=0;x<len;x++)
  • {
  • phrases = phrases.replace(lettre_e[i],"e")
  • if (phrases.indexOf(lettre_e[i],0) < 0) break;
  • }
  • }
  • for (i=0;i<lettre_i.length;i++)
  • {
  • for (x=0;x<len;x++)
  • {
  • phrases = phrases.replace(lettre_i[i],"i")
  • if (phrases.indexOf(lettre_i[i],0) < 0) break;
  • }
  • }
  • for (i=0;i<lettre_o.length;i++)
  • {
  • for (x=0;x<len;x++)
  • {
  • phrases = phrases.replace(lettre_o[i],"o")
  • if (phrases.indexOf(lettre_o[i],0) < 0) break;
  • }
  • for (x=0;x<len;x++)
  • {
  • phrases = phrases.replace(lettre_u[i],"u")
  • if (phrases.indexOf(lettre_u[i],0) < 0) break;
  • }
  • }
  • for (x=0;x<len;x++)
  • {
  • phrases = phrases.replace("ÿ","y")
  • phrases = phrases.replace("ç","c")
  • if (phrases.indexOf("ÿ",0) < 0 && phrases.indexOf("ç",0) < 0) break;
  • }
  • len = phrases.length; // Initie la bonne valeur de la longeur ,parce que l'on a enlevé les espaces les points, ...
  • var num_comparer;
  • var lettre_comparer;
  • var résultat = "correct"
  • var position = new Array(); // Fait un un table qui contient tous les caractères du mot ou de la phrase
  • for (i=0;i<len;i++)
  • {
  • position[i] = phrases.charAt(i)
  • }
  • for (i=len;i>0;i--)
  • {
  • num_comparer = len - i
  • lettre_comparer = position[num_comparer]
  • if (lettre_comparer != phrases.charAt(i-1)) // Compare chaque caractères à sa lettre symétrique ( de l'autre côté )
  • {
  • résultat = "mauvais" // Si elle n'est pas égale elle retourne que ce n'est pas un pallindrome
  • }
  • }
  • if (résultat == "correct") // Si à aucun endroit les lettres n'on pas été égale il affiche que vous avez trouvé un palidrome.
  • {
  • alert("Vous avez réussi.\nC'était un palyndrome.")
  • }
  • else //Sinon que vous n'avez pas trouvé un palindrome
  • {
  • alert("Meilleur chance la prochaine fois.\nCe n'était pas un palyndrome.")
  • }
  • }
  • </SCRIPT>
  • </HEAD>
  • <BODY>
  • <FORM name="form">
  • Votre phrase : <INPUT type="text" name="phrase" value="La marié ira mal.">
  • <INPUT type="button" value="Vérifié" onclick="vérifiéPhrase(document.form.phrase.value)">
  • <INPUT type="hidden" name="temp">
  • </FORM>
  • </BODY>
  • </HTML>
<HTML>
<HEAD>
<TITLE>Palindrome </TITLE>
<SCRIPT language="javascript">
function vérifiéPhrase(phrase)
{
 phrases = new String(phrase) // Initie le string
 phrases = phrases.toLowerCase() // Met tout les caractères en minuscule
 var len = phrases.length;  // Initie le longeur du string ( seulement pour la boucle qui suit )
 //for (i=0;i<len;i++) // Enlève les caractères inutiles et remplace les accents
 caractere_spec = new Array (" ",".",",","!","?","-","_","\\","'","(",")","$","&","%","*")
 lettre_a = new Array("à","â","ä")
 lettre_e = new Array("è","é","ê","ë")
 lettre_i = new Array("ì","î","ï")
 lettre_o = new Array("ò","ô","ö")
 lettre_u = new Array("ù","û","ü")
  for (i=0;i<caractere_spec.length;i++)
  {
   for (x=0;x<len;x++)
   {
   phrases = phrases.replace(caractere_spec[i],"")
   if (phrases.indexOf(caractere_spec[i],0) < 0) break;
   }
  }
  for (i=0;i<lettre_a.length;i++)
  {
   for (x=0;x<len;x++)
   {
   phrases = phrases.replace(lettre_a[i],"a")
   if (phrases.indexOf(lettre_a[i],0) < 0) break;
   }
  }
  for (i=0;i<lettre_e.length;i++)
  {
   for (x=0;x<len;x++)
   {
   phrases = phrases.replace(lettre_e[i],"e")
   if (phrases.indexOf(lettre_e[i],0) < 0) break;
   }
  }
  for (i=0;i<lettre_i.length;i++)
  {
   for (x=0;x<len;x++)
   {
   phrases = phrases.replace(lettre_i[i],"i")
   if (phrases.indexOf(lettre_i[i],0) < 0) break;
   }
  }
  for (i=0;i<lettre_o.length;i++)
  {
   for (x=0;x<len;x++)
   {
   phrases = phrases.replace(lettre_o[i],"o")
   if (phrases.indexOf(lettre_o[i],0) < 0) break;
   }
   for (x=0;x<len;x++)
   {
   phrases = phrases.replace(lettre_u[i],"u")
   if (phrases.indexOf(lettre_u[i],0) < 0) break;
   }
  }
  for (x=0;x<len;x++)
  {
    phrases = phrases.replace("ÿ","y")
    phrases = phrases.replace("ç","c")
   if (phrases.indexOf("ÿ",0) < 0 && phrases.indexOf("ç",0) < 0) break;
  }   
 len = phrases.length; // Initie la bonne valeur de la longeur ,parce que l'on a enlevé les espaces les points, ...
 var num_comparer; 
 var lettre_comparer;
 var résultat = "correct"
 var position = new Array(); // Fait un un table qui contient tous les caractères du mot ou de la phrase
 for (i=0;i<len;i++)
  {
   position[i] = phrases.charAt(i)
  }
 for (i=len;i>0;i--)
  {
   num_comparer = len - i
   lettre_comparer = position[num_comparer]
   if (lettre_comparer != phrases.charAt(i-1)) // Compare chaque caractères à sa lettre symétrique ( de l'autre côté )
    {
      résultat = "mauvais" // Si elle n'est pas égale elle retourne que ce n'est pas un pallindrome
    }
   }
 if (résultat == "correct") // Si à  aucun endroit les lettres n'on pas été égale il affiche que vous avez trouvé un palidrome.
  {
   alert("Vous avez réussi.\nC'était un palyndrome.")
  }
  else //Sinon que vous n'avez pas trouvé un palindrome
   {
    alert("Meilleur chance la prochaine fois.\nCe n'était pas un palyndrome.") 
   }
}
</SCRIPT>
</HEAD>
<BODY>
<FORM  name="form">
Votre phrase : <INPUT type="text" name="phrase" value="La marié ira mal.">
<INPUT type="button" value="Vérifié" onclick="vérifiéPhrase(document.form.phrase.value)">
<INPUT type="hidden" name="temp">
</FORM>
</BODY>
</HTML>

 Conclusion

J'ai essayer d'optimiser le code le plus possible et de la rendre plus souple (pour les espaces et autre). Si vous avez des suggestions n'hésitez à me les envoyer.


 Historique

25 mars 2005 22:17:36 :
J'ai optimisé la boucle avec le remplacement de caractère, il est plus optimiser et plus rapide.
28 novembre 2005 01:01:18 :
Ajout de mots clés
28 novembre 2005 01:02:21 :
-

 Sources du même auteur

Source avec Zip PAF (PHP / AJAX FRAMEWORK)
Source avec Zip Source avec une capture MENU DYNAMIQUE CSS À 100%
Source avec Zip CLASSE AJAX COMPLÈTE
Source avec Zip CONVERSION AVEC OPÉRATEUR BINAIRE
Source avec Zip Source avec une capture CONTRÔLE POUR FORMULAIRE

 Sources de la même categorie

Source avec Zip Source avec une capture SÉQUENCEUR par jdmcreator
Source avec Zip COMPRESSION DE TEXTE CÔTÉ CLIENT EN JS VIA ALGORYTHME LZW par niamor36
Source avec Zip VIRTUAL IPHONE (V.2) par loicseg
Source avec Zip MOOTABLEAU par Miky76
Source avec Zip CALCULER VOTRE IMC par lesnouesremy

 Sources en rapport avec celle ci

RÉCUPERER LA LARGEUR D'AFFICHAGE D'UN TEXTE par LocalStone

Commentaires et avis

Commentaire de max12 le 12/03/2005 18:12:22 administrateur CS

Elu par cette crapule :)

Commentaire de Romain128 le 13/03/2005 01:31:05

C'est quoi un palindrome ?
C'est une phrase sans caracteres speciaux?
Sinon c'est simple ton script, simple et bien, sans plus.

Commentaire de coucou747 le 13/03/2005 10:05:15

a mon avis, t'as trop utilisé le copier coller...
pour tes remplacements de caractères, une boucle serait plus lisible...

Commentaire de Arto_8000 le 14/03/2005 00:57:04

Bon pour ceux qui ne  savent pas ce que c'est un palindrome. En gros, c'est une phrase qui peut se lire de gauche à droite et de droite à gauche sans que la phrase change.

Ex: La marié ira mal
Si on la lit à l'envers on lira quand même la marié ira mal.

Commentaire de tecman le 07/05/2005 00:13:29

Autre possibilité : mettre la phrase traitée (retrait accent, ...) dans un tableau et utiliser la fonction reverse().

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Urlencode [ par Clem ] Existe il en javascript une fonction comme urlencode en php ?Sinon est il possible d'en faire une en traduisant la fonction vb : Function ReplaceStrin Pbl : Convertir un objet en string ? la solution ? [ par Dexterin ] Bonjour,Je cherche depuis un moment maintenant et je bloque un peu...Je désire extraire une variable cible contenant exactement :&lt;input type="hidde recherche string dans text area [ par kalib ] voici la situation :je dispose d'une drop box ( input type select)&lt;select name="original"&gt; &lt;option value="A"&gt; C&lt;/option&gt; &lt;option integrer une page html dans variable string [ par power ] voila , je cherche a lire une page html, en fin son code source(a partir de son url) et de l integrer dans une variable de type string afin de pouvoir appel fonction [ par cosminutza ] Salut! Je voudrais transmettre a la partie script (javascript) d'une image SVG contenue dans une page web, une string contenant le nom de la fonction mailto et saut de ligne ?? [ par birdyz ] Bonjour à tousJe débute en JS, et j'ai un petit soucis. j'utilise mailto dans une de mes fonctions, et je voudrais que le corps du message soit sur pl les string [ par fernand22fr ] bonjours ,je souhaiterais savoir si il est possible d acceder a un caractere particulier d une chaine de caractere.Par exemple je veux afficher dans u String vide [ par daeron ] J'ai un problème avec javascript.Je veux tester si mon string MyString est vide.J'ai teste : if (MyString == null) ou if (!MyString) ou if(MyString == incrémenter une string [ par armoun78 ] bonjour,je vous explique mon probleme :Je récupère la valeur d'un champs d'un formulaire (donc une string) mais je veux m'en servir comme un entier (j Interpréter balises HTML dans String ? [ par floorfi ] Bonsoir !Voilà, dans une String, j'ai des données texte et des balises html qui sont affectées.Par exemple, j'ai une String dont le contenu est "toto1


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,967 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales