Définition
Une expression régulière est une suite de caractères dont chacun a un sens précis. Le motif ou profil est
formé par cette suite de caractères.
Les expressions régulières vont vous permettre de créer des critères de recherche pour faire des
recherches dans des chaînes de caractères ou pour remplacer les occurrences (bout de chaîne) par
d'autres.
Il existe deux façons de créer une expression régulière.La première consiste à la déclarer comme un objet
String en remplaçant les '"' par des '/'.
Le type
Le type se trouve en fin d'expression régulière. Dans le cas de l'objet javascript string nous le mettons après
le "/"; dans le cas de l'objet RegExp nous le mettons dans le paramètre passé.
Il permet de donner des informations sur la manière dont expression régulière "va être appliquée".
Les types sont :
- g, l'expression régulière recherche toutes les correspondances et pas seulement la première.
- i, l'expression régulière ne doit pas tenir en compte des majuscules et minuscules.
- m, l'expression régulière doit tenir en compte des lignes (voir ^ et $).
- gim les trois types réunis (les options peuvent être utilisées séparément ou ensemble)
Exemples :
Dans ces exemples nous allons afficher toutes les correspondances trouvées.
Exemple avec g :
Exemple sans g :
Exemple avec i :
var momo = "dmc DMC dmc Dmc ";
var exp_reg = /dmc/i;
var liste = momo.match(exp_reg);
console.log(liste);
Exemple avec gi :
Caractères interdits
Certains caractères ont une symbolique spécifique dans la construction de l'expression régulière.
Donc, si vous voulez tester ce caractère en tant que caractère d'une chaîne, vous devez utiliser leur
équivalence :
Le \ est donc un caractère spécial.
Attention, si vous déclarer une nouvelle occurrence de RegExp, vous devez doubler le "\".
Définition
Les caractères ^ et $ sont des caractères spéciaux.Le caractère ^ représente un début de chaîne ou
début de ligne.
Frontière de mot
Définition
Les caractères b et B sont des caractères spéciaux.
Exemple avec b :
Exemple avec B :
Définition
Le caractère point "." est un caractère spécial qui désigne tous les caractères sauf nouvelle ligne(\n).
Chaîne suivit de
L'expression "a(?!b)" permet de trouver une chaîne a qui n'est pas suivie de b.
Exemples :
Le caractère + signifie que le caractère qui le précède est répété une fois ou plusieurs fois.
"dmc+": chaîne qui contient "dm" suivie de un ou plusieurs "c" ("dmc", "dmcc", "dmccc",...).
Equivalant à "{1,}".
Le caractère ? signifie que le caractère qui le précède est répété aucune fois ou une fois.
"dmc?": chaîne qui contient "dmc" suivie d'aucun ou d'un "c" ("dmc", "dmcc", "dmccc",...).
Equivalant à "{0,1}".
Définitions {}
Les accolades {début,fin} est un autre moyen de donner des limites au nombre de répétitions du caractère
qui les précèdes.
Exemples :
Les parenthèses
Les parenthèses () vont vous permettre de regrouper un motif.
En utilisant les parenthèses () on pourra ensuite référencer dans le paramètre remplacement par les
caractères $1, $2,...,$9.
Ingnore ce regroupement
L'exepression "(?:chaîne)" permet d'exclure un regroupement du tableau de résultats ou des propriétés
prédéfinies $1,...
Opérateur OU
Le caractères spécial | permet d'insérer une condition, il se comporte en tant qu'opérateur OU.
Liste de caractères
Les crochets [ ]
Les crochets [ ] permettent de spécifier une liste de caractères autorisés.
Le caractère spécial -
Le caractères spécial - sert à définir un intervalle dans les crochets [ ].
Caractère prédéfini
Il existe des caractères spéciaux qui englobent des caractères d'un certain type (numérique, alphanumérique,
...) mais qui ne sont pas des classes.
Il existe plusieurs méthodes qui sont utilisées avec les expressions régulières :
- test()
- split()
- match()
- replace()
- search()
- exec()
- compile()
Vocabulaires :
- exp_reguliere , occurrence d'expression régulière (RegExp)
- motif, expression régulière
- chaîne, chaîne de caractères dans laquelle nous allons faire notre recherche.
compile()
Définition
La méthode javascript exp_reguliere.compile(chaîne, modificateur) permet de changer le motif d'une
l'expression régulière déjà créée.
exec()
Définition
La méthode javascript exp_reguliere.exec(chaîne) permet de récupérer la première correspondance
trouvée.
search()
Définition
La méthode javascript search(exp_reguliere) permet de trouver une correspondance entre une chaîne de
caractères et une expression régulière.
match()
Définition
La méthode javascript match(exp_reguliere) permet de récupérer toutes les correspondances entre une
chaîne de caractères et une expression régulière sous la forme d'un tableau.
var momo = "ce aliasdmc est un chouette type, ce aliasdmc est un chouette type";
var exp_reg = /[a-z]t/gi;
var liste = momo.match(exp_reg);
console.log(liste);
replace()
Définition
La méthode javascript replace(exp_reguliere, remplacement) permet de remplacer une correspondance
entre une chaîne de caractères et une expression régulière.
split()
Définition
La méthode javascript split(exp_reguliere, nombreOcccurence) permet de découper une chaîne de
caractères suivant un séparateur (une expression régulière) Le résultat est un tableau.
var momo = "ce aliasdmc est un chouette type";
var exp_reg = /e/gi;
var liste = momo.split(exp_reg);
console.log(liste);
test()
Définition
La méthode javascript exp_reguliere.test(chaîne) permet de tester une correspondance entre une chaîne
de caractères et une expression régulière.
var momo = "ce aliasdmc est un chouette type";
var exp_reg = /DMC/gi;
console.log(exp_reg.test(momo));
Manipuler les dates et le temps est très utile. Récupérer la date locale d’un visiteur, convertir une date en
temps GMT, extraire les minutes ou les jours à des fins de calcul ou utiliser un délai pour exécuter des
fonctions récursive, et autres manipulations.
L’objet Date
L’objet " date " du Javascript permet d’accéder et de manipuler le format date et heure. Les méthodes sont
très semblables au Java, enregistre en milliseconde depuis le 1er Janvier 1970 00 :00 :00, elles ne seront
plus valides vers 2032 si je me rappelle bien, et ce en raison du nombre limité d’octets !!. Enfin, d’ici là,
amusons-nous un peu. Explications, exemple et une librairie de fonctions utiles.
Pour manipuler une date ou obtenir la date du jour vous devez créer un objet date. Il y a quatre façons de
faire.
En n’initialisant pas l’heure (heure, minutes, secondes), leur valeur sera à zéro.
Exemples :
Les Méthodes
Une fois votre objet crée ou la date du jour obtenu, vous pouvez utiliser les méthodes suivantes pour
manipuler votre objet.
Exemples
NomObjet.NomMethode(paramètres).
FONCTION : getDate()
Syntaxe : NomObjet.getDate()
Paramètres : aucun
Syntaxe : NomObjet.getHours()
Paramètres : aucun
FONCTION : getMinutes()
Syntaxe : NomObjet.getMinutes()
Paramètres : aucun
console.log("---------------------------------------------------------");
maDate = new Date();
nMinutes = maDate.getMinutes();
FONCTION : getMonth()
Syntaxe : NomObjet.getMonth()
Paramètres : aucun
console.log("---------------------------------------------------------");
maDate = new Date();
nMois = maDate.getMonth();
Syntaxe : NomObjet.getSeconds()
Paramètres : aucun
console.log("---------------------------------------------------------");
maDate = new Date();
nSec = maDate.getSeconds();
FONCTION : getTime()
Syntaxe : NomObjet.getTime()
Paramètres : aucun
console.log("---------------------------------------------------------");
maDate = new Date();
nTemps = maDate.getTime();
Retourne l’année d’une date spécifique. À partir de 1900. En bas de 2000, l’année ne retourne que deux caractères
Ex: 1995 = 95
Syntaxe : NomObjet.getYear()
Paramètres : aucun
console.log("---------------------------------------------------------");
maDate1 = new Date();
maDate2 = new Date("February 5, 1995 23:15:00");
maDate3 = new Date("February 5, 2001 23:15:00");
nAnnee1 = maDate1.getYear();
nAnnee2 = maDate2.getYear();
nAnnee3 = maDate3.getYear();
FONCTION : setDate()
Syntaxe : NomObjet.setDate(valeurJour)
console.log("---------------------------------------------------------");
maDate1 = new Date("February 2, 2001 18:15:00");
maDate2 = new Date("February 2, 2001 18:15:00");
maDate2.setDate(5);
Syntaxe : NomObjet.setHours(valeurHeure)
console.log("---------------------------------------------------------");
maDate1 = new Date("February 2, 2001 18:15:00");
maDate2 = new Date("February 2, 2001 18:15:00");
maDate2.setHours(23);
FONCTION : setMinutes()
Syntaxe : NomObjet.setMinutes(valeurMinutes)
console.log("---------------------------------------------------------");
maDate1 = new Date("February 2, 2001 18:15:00");
maDate2 = new Date("February 2, 2001 18:15:00");
maDate2.setMinutes(20);
FONCTION : setMonth()
Syntaxe : NomObjet.setMonth(valeurMois)
Paramètres : valeurMois = un nombre entre 0 et 11
console.log("---------------------------------------------------------");
maDate1 = new Date("February 2, 2001 18:15:00");
maDate2 = new Date("February 2, 2001 18:15:00");
maDate2.setMonth(5);
FONCTION : setSeconds()
Syntaxe : NomObjet.setSeconds(valeurSecondes)
console.log("---------------------------------------------------------");
maDate1 = new Date("February 2, 2001 18:15:00");
maDate2 = new Date("February 2, 2001 18:15:00");
maDate2.setSeconds(30);
FONCTION : setTime()
Syntaxe : NomObjet.setTime(valeurMSec)
Syntaxe : clearTimeout(DelaisID)
Paramètres :
FONCTION : setYear()
Syntaxe : NomObjet.setYear(valeurAnnee)