web-dev-qa-db-fra.com

Convertir une chaîne JavaScript en minuscule?

Comment convertir une valeur de chaîne JavaScript en lettres minuscules?

Exemple: "Votre nom" à "votre nom"

1245
Derek
var lowerCaseName = "Your Name".toLowerCase();
1624
John Topley

Utilisez les méthodes toLowerCase ou toLocaleLowerCase de l'objet String . La différence est que toLocaleLowerCase prendra en compte les paramètres régionaux actuels de l'utilisateur/hôte. Conformément au § 15.5.4.17 du Spécification de langage ECMAScript (ECMA-262) , toLocaleLowerCase

… Fonctionne exactement de la même façon que toLowerCase, à la différence que son résultat est destiné à produire le résultat correct pour les paramètres régionaux actuels de l’environnement hôte, plutôt qu’un résultat indépendant des paramètres régionaux. Il n'y aura de différence que dans les rares cas (tels que le turc) où les règles de cette langue sont en conflit avec les mappages de cas Unicode classiques.

Exemple:

var lower = 'Your Name'.toLowerCase();

Notez également que les fonctions toLowerCase et toLocaleLowerCase sont implémentées pour fonctionner de manière générique sur tout type de valeur . Par conséquent, vous pouvez appeler ces fonctions même sur des objets non -String. Cela impliquerait une conversion automatique en une valeur de chaîne avant de changer la casse de chaque caractère dans la valeur de chaîne résultante. Par exemple, vous pouvez appliquer toLowerCase directement à une date comme celle-ci:

var lower = String.prototype.toLowerCase.apply(new Date());

et qui équivaut effectivement à:

var lower = new Date().toString().toLowerCase();

La seconde forme est généralement préférée pour sa simplicité et sa lisibilité. Sur les versions antérieures d'IE, la première avait l'avantage de fonctionner avec une valeur null. Le résultat de l'application de toLowerCase ou toLocaleLowerCase sur null produirait null (et non une condition d'erreur).

402
Atif Aziz

Oui, toute chaîne en JavaScript a une méthode toLowerCase() qui renverra une nouvelle chaîne qui est l'ancienne en minuscule. L'ancienne chaîne restera inchangée.

Donc, vous pouvez faire quelque chose comme:

"Foo".toLowerCase();
document.getElementById('myField').value.toLowerCase();
28
pkaeding

toLocaleUpperCase () ou les fonctions minuscules ne se comportent pas comme il se doit.

Par exemple, dans mon système Safari 4, Chrome 4 Beta, Firefox 3.5.x, il ne convertit pas correctement les chaînes contenant des caractères turcs.

Les navigateurs répondent à navigator.language comme "en-US", "tr", "en-US" respectivement.

Mais il n'y a aucun moyen d'obtenir le paramètre Accept-Lang de l'utilisateur dans le navigateur aussi loin que j'ai pu trouver.

Seul Chrome me pose problème, même si j'ai configuré chaque navigateur en fonction des paramètres régionaux tr-TR.

Je pense que ces paramètres n'affectent que l'en-tête HTTP, mais nous ne pouvons pas accéder à ces paramètres via JS.

Dans le documentation de Mozilla , il est indiqué "Les caractères d'une chaîne sont convertis en ... tout en respectant les paramètres régionaux en vigueur.

Pour la plupart des langues, cela retournera la même chose que ... ".

Je pense que c'est valable pour le turc, il ne diffère pas, il est configuré comme en ou tr.

En turc, il convient de convertir "DİNÇ" en "dinç" et "DINÇ" en "dınç" ou inversement.

20
sanilunlu

Juste un exemple pour toLowerCase(), toUpperCase() et un prototype pour non encore disponible toTitleCase() ou toPropperCase()

String.prototype.toTitleCase = function() {
  return this.split(' ').map(i => i[0].toUpperCase() + i.substring(1).toLowerCase()).join(' ');
}

String.prototype.toPropperCase = function() {
  return this.toTitleCase();
}

var OriginalCase = 'Your Name';
var lowercase = OriginalCase.toLowerCase();
var upperCase = lowercase.toUpperCase();
var titleCase = upperCase.toTitleCase();

console.log('Original: ' + OriginalCase);
console.log('toLowerCase(): ' + lowercase);
console.log('toUpperCase(): ' + upperCase);
console.log('toTitleCase(): ' + titleCase);

édité en 2018

16
ewwink

J'ai fait attention que beaucoup de gens sont à la recherche pour strtolower() en JavaScript. Ils s'attendent au même nom de fonction que dans d'autres langues, c'est pourquoi ce post est ici.

Je recommanderais d'utiliser native fonction Javascript

"SomE StriNg".toLowerCase()

Voici la fonction qui se comporte exactement comme celle de PHP (pour ceux qui portent du code PHP dans js)

function strToLower (str) {
    return String(str).toLowerCase();
}
12
Dan

Méthode ou fonction: toLowerCase (), toUpperCase ()

Description: Ces méthodes permettent de couvrir une chaîne ou un alphabet de minuscule à majuscule ou vice versa. Par exemple: "et" à "ET".

Conversion en majuscules: - Exemple de code: -

<script language=javascript>
var ss = " testing case conversion method ";
var result = ss.toUpperCase();
document.write(result);
</script>

Résultat: MÉTHODE DE CONVERSION DE CAS DE TEST

Conversion en minuscule: - Exemple de code:

<script language=javascript>
var ss = " TESTING LOWERCASE CONVERT FUNCTION ";
var result = ss.toLowerCase();
document.write(result);
</script>

Résultat: test de la fonction de conversion minuscule

Explication: Dans les exemples ci-dessus,

toUpperCase() method converts any string to "UPPER" case letters.
toLowerCase() method converts any string to "lower" case letters.
8
JackSparrow

Notez que la fonction fonctionnera UNIQUEMENT sur les objets STRING.

Par exemple, je consommais un plugin, et je ne comprenais pas pourquoi j’obtenais une erreur "extension.tolowercase n’est pas une fonction" JS.

 onChange: function(file, extension)
    {
      alert("extension.toLowerCase()=>" + extension.toLowerCase() + "<=");

Ce qui a généré l'erreur "extension.toLowerCase n'est pas une fonction". J'ai donc essayé ce morceau de code qui a révélé le problème!

alert("(typeof extension)=>" + (typeof extension) + "<=");;

Le résultat était "(typeof extension) => objet <=" - alors AhHa, je ne recevais PAS de chaîne var pour mon entrée. Le correctif est simple, forcez la chose dans un String !:

var extension = String(extension);

Après la conversion, la fonction extension.toLowerCase () fonctionnait correctement.

8
Paul Gorbas

Utilisez simplement JS toLowerCase()
let v = "Your Name" let u = v.toLowerCase(); ou
let u = "Your Name".toLowerCase();

3
Harunur Rashid

Opt 1: en utilisant toLowerCase ();

var x = "ABC";
x=x.toLowerCase();

Opt 2: Utiliser votre propre fonction

 function convertToLowerCase(str) {
      var result = ''

      for (var i = 0; i < str.length; i++) {
        var code = str.charCodeAt(i)
        if (code > 64 && code < 91) {
          result += String.fromCharCode(code + 32)
        } else {
          result += str.charAt(i)
        }
      }
      return result
    }

Appelez ça comme:

x= convertToLowerCase(x);
3
Siddhartha

Si vous voulez le construire vous-même:

function toLowerCase(string) {

let lowerCaseString = "";

for (let i = 0; i < string.length; i++) {
    //find ASCII charcode
    let charcode = string.charCodeAt(i);

    //if uppercase
    if (charcode > 64 && charcode < 97){
        //convert to lowercase
        charcode = charcode + 32
    }

    //back to char
    let lowercase = String.fromCharCode(charcode);

    //append
    lowerCaseString = lowerCaseString.concat(lowercase);
}

return lowerCaseString

}

0

Plateau ce court chemin

  document.write((a+"").toUpperCase());
0
Popal