Académique Documents
Professionnel Documents
Culture Documents
Rappel :
Il existe des fonctions de conversion de type : String et Number, qui permettent de spécifier explicitement la conversion à
effectuer.
var a = String(21.34); ⇒ a = "21.34"
var b = Number ("12.56") ⇒ b = 12.56
☛ la fonction eval : x=eval(variable) évalue une chaîne de caractère sous forme de valeur numérique. On peut stocker dans la
chaîne des opérations numériques, des opérations de comparaison, des instructions et même des fonctions.
Exemple: ch='5 + 10' ; x=eval(ch); ⇒ x=15;
☛ Il est préférable, de précéder toute conversion avec la fonction number, par un test de validité avec la fonction IsNaN.
- ch= „ali‟ ch.charCodeAt(0)=97
- "ABC".charCodeAt(0) // returns 65
- String.fromCharCode(65) return „A‟
Syntaxe
ch.substr(début[, longueur])
Exemples
var CH = 'Mozilla';
Exercice 3
Écrire dans un document html5 une fonction javascript qui permet d‟afficher un message de
bienvenue en Bleu centré, de taille 24px.
Cette fonction sera appelée au chargement de la page.
Exercice 4
Créer une page html5 qui ressemble au schéma suivant:
Créer une fonction javascript qui renvoie la chaîne de caractères écrite dans la première zone de texte et
qui est passée en argument complètement inversée (mots et lettres).
Le résultat doit être affiché dans la deuxième zone de texte après un click sur le bouton d‟inversion
La deuxième zone de texte doive être inactif
Fonctions utiles pour cet exercice
split()
reverse()
join()
Exercice 5
Créer une page html5 qui ressemble au schéma suivant:
Créer une fonction javascript qui renvoie le mot le long dans la chaîne de caractères écrite dans la
première zone de texte et qui est passée en argument.
Le résultat doit être affiché dans la deuxième zone de texte après un click sur le bouton de recherche
La deuxième zone de texte doive être inactif
Fonctions utiles pour cet exercice
split()
Exercice 5
L‟objectif de cet exercice est de créer une interface qui ressemble celle d‟envoi d‟un SMS
Créer une page HTML5 qui contient:
Une zone de texte (ou textarea) pour que l‟internaute puisse y saisir un texte quelconque. On
suppose que celui ci ne doit pas contenir plus de 120 caractères.
Une zone de texte en bas du textarea qui affiche le nombre de caractères restants.
Ce nombre sera automatiquement calculé à chaque modification du texte par le clavier
Le schémas suivant décrit le résultat qui sera obtenu
Exercice 7
Écrire un script qui demande une chaine de caractère puis affiche plaindrome
Un palindrome est un mot ou une phrase dont l‟ordre des lettres reste le même si on le lit de gauche à
droite ou de droite à gauche. Par exemple, “ressasser” “radar” “SOS” sont des palindromes
Exercice 8
Écrire un programme qui double toutes les voyelles d‟une phrase par exemple :‟apcpedagogie.com„
devient „aapcpeedaagoogiiee.coom„
Exercice 9Travail à faire :
1. Ecrire une fonction qui permet de tester si une chaîne de caractère passée en paramètre commence par une lettre
majuscule ou minuscule entre 'a' et 'd'.
2. Ecrire une fonction qui renvoie 'true' lorsque'une chaîne contient un seul caractère '@' sinon renvoie 'false'.
3. Ecrire une fonction qui renvoie 'true' lorsque'une chaîne contient au moins un chiffre sinon renvoie 'false'.
4. Ecrire une fonction qui remplace les chiffre par le caractère '*' .
5. Créer un script qui va utiliser ces fonctions.
Exemple d’exécution
1. On utilisera pour test le code html suivant :
2. <!doctype html>
3. <html>
4. <head>
5. <title>Manipuler les chaines de caractères</title>
6. <meta charset="utf-8">
7. <style type="text/css">
8. div{
9. border: 1px solid black;
10. }
11. </style>
12. </head>
13. <body>
14. <div >
15. <p contenteditable="true" id="ch1" >Bonjour</p>
16. <button onclick="str_fisrt_letter(document.getElementById('ch1').innerHTML)">Tester</button>
17. <p id="res1"></p>
18. </div>
19. <div >
20. <p contenteditable="true" id="ch2" >monadress [AT] exelib [DOT] com</p>
21. <button onclick="str_email(document.getElementById('ch2').innerHTML)">Tester</button>
22. <p id="res2"></p>
23. </div>
24. <div >
25. <p contenteditable="true" id="ch3" >12test</p>
26. <button onclick="str_number(document.getElementById('ch3').innerHTML)">Tester</button>
27. <p id="res3"></p>
28. </div>
29. <div >
30. <p contenteditable="true" id="ch4" >bonjour12</p>
31. <button onclick="str_replace(document.getElementById('ch4').innerHTML)">Tester</button>
32. <p id="res4"></p>
33. </div>
</body>
contenteditable="true" est un attribut html5 qui permet de rendre un élément éditable , utilisé dans cet
exercice pour simplifier la modification de la chaîne à tester.
2. Le script contenant les 4 fonctions :
<script type="text/javascript">
function str_fisrt_letter(ch){
/*L'expression régulière qui ^[a-d] pour tester si la chaîne commence par une lettre entre a et le modificateur i pour ne
pas faire de différence entre majuscules et minuscules */
var pattern =/^[a-d]/i;
var res = document.getElementById("res1");
if(pattern.test(ch)){
res.innerHTML=ch+" chaîne valide commence par une lettre entre a et d ";
}
else {
res.innerHTML=ch+" chaîne invalide ";
}
}
function str_email(ch){
var res = document.getElementById("res2");
/*La fonction split(@) transforme la chaîne en tableau de sous chaines à partir du caractère séparateur ici '@' .Si c.len
ght=1 donc la chaîne ne contient pas @ et si c.lenght>2 alors il contient plusieurs '@' */
var c =ch.split('@');
if(c.length==2){
res.innerHTML=ch+" chaîne valide : contient un seul caractère @ ";
}
else {
res.innerHTML="chaîne invalide!";
}
}
function str_number(ch){
var res = document.getElementById("res3");
var pattern =/\d/;
/*La fonction seach peut prendre en paramètre une expression régulière*/
if(ch.search(pattern)!=-1){
res.innerHTML=ch+" chaîne valide : contient un nombre ";
}
else {
res.innerHTML=ch+" chaîne invalide : ne contient pas un nombre ";
}
}
function str_replace(ch){
var res = document.getElementById("res4");
/*La fonction replace peut prendre en paramètre une expression régulière ici le modificateur g pour un recherch
e globale afin de remplacer tous les chiffres de la chaîne*/
ch2=ch.replace(/\d/g,"*");
res.innerHTML=ch2;
</script>