[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/String/substr [Back]  [Original]

String.prototype.substr() - JavaScript | MDN

Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.

View in English Always switch to English

String.prototype.substr()

Obsolte

vitez d'utiliser cette fonctionnalit dans de nouveaux projets. HTML wrapper methods exist only for backwards compatibility. Use DOM APIs to create elements instead. Cette fonctionnalit peut tre candidate la suppression des standards web ou des navigateurs.

Envisagez d'utiliser plutt les fonctionnalits suivantes : DOM.

Attention : Bien que String.prototype.substr() ne soit pas strictement obsolte (au sens o elle n'a pas t retire des standards), elle est dfinie au sein de l'Annexe B du standard ECMA-262 qui dfinit l'ensemble des fonctionnalits historiques qui doivent tre vites autant que possible. On utilisera la mthode String.prototype.substring() la place.

La mthode substr() retourne la partie d'une chane de caractres comprise entre l'indice de dpart et un certain nombre de caractres aprs celui-ci.

Dans cet article

Exemple interactif

const str = "Mozilla";

console.log(str.substr(1, 2));
// Expected output: "oz"

console.log(str.substr(2));
// Expected output: "zilla"

Syntaxe

js
chn.substr(dbut[, longueur])

Paramtres

dbut

L'indice du premier caractre inclure dans la sous-chane retourne.

longueur

Optionnel. Le nombre de caractres extraire.

Valeur de retour

Une nouvelle chane contenant la partie indique de la chane donne.

Description

substr() extrait longueur caractres d'une string, en comptant partir de l'indice dbut.

Si dbut est un nombre positif, l'indice commence compter du dbut de la chane. Sa valeur est limite chn.length.

Si dbut est un nombre ngatif, l'indice commence compter de la fin de la chane. Sa valeur est limite -chn.length.

Note : dans JScript de Microsoft, les valeurs ngatives de l'argument dbut ne sont pas considres comme faisant rfrence la fin de la chane.

Si longueur est omise, substr() extrait les caractres jusqu' la fin de la chane.

Si longueur est undefined, substr() extrait les caractres jusqu' la fin de la chane.

Si longueur est ngative, elle est traite comme 0.

Pour dbut comme pour longueur, NaN est trait comme 0.

Exemples

js
var uneChaine = "Mozilla";

console.log(uneChaine.substr(0, 1)); // 'M'
console.log(uneChaine.substr(1, 0)); // ''
console.log(uneChaine.substr(-1, 1)); // 'a'
console.log(uneChaine.substr(1, -1)); // ''
console.log(uneChaine.substr(-3)); // 'lla'
console.log(uneChaine.substr(1)); // 'ozilla'
console.log(uneChaine.substr(-20, 2)); // 'Mo'
console.log(uneChaine.substr(20, 2)); // ''

Prothse d'mulation (polyfill)

JScript de Microsoft ne supporte pas les valeurs ngatives pour l'indice de dbut. Pour utiliser cette fonctionnalit, vous pouvez utiliser le code suivant :

js
// N'appliquer que lorsque la fonction est incomplte
if ("ab".substr(-1) != "b") {
  /**
   *  Obtenir la sous-chane d'une chane
   *  @param  {entier}  dbut     o dmarrer la sous-chane
   *  @param  {entier}  longueur combien de caractres  retourner
   *  @return {chane}
   */
  String.prototype.substr = (function (substr) {
    return function (dbut, longueur) {
      // Appel de la mthode originale
      return substr.call(
        this,
        // Si on a un dbut ngatif, calculer combien il vaut  partir du dbut de la chane
        // Ajuster le paramtre pour une valeur ngative
        dbut < 0 ? this.length + dbut : dbut,
        longueur,
      );
    };
  })(String.prototype.substr);
}

Spcifications

Spcification
ECMAScript 2027 LanguageSpecification
# sec-string.prototype.substr

Compatibilit des navigateurs

Voir aussi


Web Proxy Viewer  |  New URL  |  Original Page