La propriété source renvoie une chaîne de caractères qui contient le texte du motif à rechercher (pattern), sans les barres obliques (slashes). C'est une propriété en lecture seule liée à l'instance. source ne contient aucun des options ou drapeaux (flags) (tels que "g", "i" ou "m") de l'expression rationnelle.

Attributs de RegExp.prototype.source
Écrivable Non
Énumérable Non
Configurable Oui

Exemples

Utiliser source

var regex = /totoMachin/ig;

console.log(regex.source); // "totoMachin"

Les expressions ratonnelles vides et l'échappement

À partir d'ECMAScript 5, la propriété source ne renvoie plus une chaîne vide pour les expressions rationnelles vides. Elle renvoie la chaîne "(?:)". De plus, les fins de lignes (telles que "\n") sont désormais échappées.

new RegExp().source; // "(?:)"

new RegExp('\n').source === "\n";  // true avant ES5
new RegExp('\n').source === "\\n"; // true à partir d'ES5

Spécifications

Spécification État Commentaires
ECMAScript 3rd Edition (ECMA-262) Standard Définition initiale. Implémentée avec JavaScript 1.2. Avec JavaScript 1.5 : source est une propriété de l'instance de RegExp, ce n'est pas une propriété de l'objet RegExp.
ECMAScript 5.1 (ECMA-262)
La définition de 'RegExp.prototype.source' dans cette spécification.
Standard source renvoie désormais "(?:)" (et non "") pour les expressions vides. La définition du comportement pour les échappements a été ajoutée.
ECMAScript 2015 (6th Edition, ECMA-262)
La définition de 'RegExp.prototype.source' dans cette spécification.
Standard source est désormais un accesseur lié au prototype plutôt qu'une propriété directement rattachée à l'instance.
ECMAScript Latest Draft (ECMA-262)
La définition de 'RegExp.prototype.source' dans cette spécification.
Projet  

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobileServeur
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidEdge MobileFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung InternetNode.js
Support simpleChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
Prototype accessor property (ES2015)Chrome Support complet OuiEdge ? Firefox Support complet 41IE ? Opera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile ? Firefox Android Support complet 41Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
EscapingChrome ? Edge ? Firefox Support complet 38IE ? Opera ? Safari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android Support complet 38Opera Android ? Safari iOS ? Samsung Internet Android ? nodejs ?
"(?:)" for empty regexpsChrome Support complet OuiEdge ? Firefox Support complet 38IE ? Opera ? Safari Support complet OuiWebView Android ? Chrome Android ? Edge Mobile ? Firefox Android Support complet 38Opera Android ? Safari iOS ? Samsung Internet Android ? nodejs ?

Légende

Support complet  
Support complet
Compatibilité inconnue  
Compatibilité inconnue

Voir aussi

Étiquettes et contributeurs liés au document

Contributeurs à cette page : SphinxKnight, Goofy
Dernière mise à jour par : SphinxKnight,