Konvertieren Sie den JavaScript-String in Kleinbuchstaben

Lesezeit: 5 Minuten

Dereks Benutzeravatar
Derek

Wie kann ich einen JavaScript-String-Wert in Kleinbuchstaben umwandeln?

Beispiel: "Your Name" zu "your name"

Benutzeravatar von John Topley
John Topley

var lowerCaseName = "Your Name".toLowerCase();

  • Beachten Sie auch, dass „toLowerCase den Wert der Zeichenfolge str selbst nicht beeinflusst“. Dies basiert auf einer Dokumentation hier developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…

    – Cary Bondoc

    27. Juni 2014 um 0:52 Uhr

  • Was ist Zeit- und Raumkomplexität von toLowerCase() Funktion?

    – Rami Chasygov

    4. April 2018 um 17:41 Uhr


  • @RamzanChasygov Es ist sowohl O (n) als auch schneller als die Neuimplementierung in JavaScript, es sei denn, Sie haben eine JavaScript-Engine, die von sehr intelligenten Idioten programmiert wurde.

    – wizzwizz4

    9. April 2018 um 12:13 Uhr


  • Eine sicherere Methode zum Aufrufen toLowerCase() auf Variablen wäre (varName || '').toLowerCase();

    – Dinesh Pandiyan

    22. Dezember 2018 um 2:31 Uhr


Benutzeravatar von Atif Aziz
Atif Aziz

Benutze das eine oder das andere zu Kleinbuchstaben oder toLocaleLowerCase Methoden der Schnur Objekt. Der Unterschied ist das toLocaleLowerCase berücksichtigt das aktuelle Gebietsschema des Benutzers/Hosts. Gemäß § 15.5.4.17 des ECMAScript-Sprachspezifikation (ECMA-262), toLocaleLowerCase

…funktioniert genauso wie toLowerCase, außer dass sein Ergebnis das richtige Ergebnis für das aktuelle Gebietsschema der Hostumgebung liefern soll und kein vom Gebietsschema unabhängiges Ergebnis. Es wird nur in den wenigen Fällen (z. B. Türkisch) einen Unterschied geben, in denen die Regeln für diese Sprache mit den regulären Unicode-Fallzuordnungen in Konflikt stehen.

Beispiel:

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

Beachten Sie auch, dass die toLowerCase und toLocaleLowerCase Funktionen sind implementiert, um generisch darauf zu arbeiten irgendein Werttyp. Daher können Sie diese Funktionen auch auf Nicht-String Objekte. Dies impliziert eine automatische Konvertierung in einen Zeichenfolgenwert, bevor die Groß-/Kleinschreibung jedes Zeichens im resultierenden Zeichenfolgenwert geändert wird. Zum Beispiel können Sie anwenden toLowerCase direkt bei einem Date wie diesem:

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

und was effektiv äquivalent ist zu:

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

Die zweite Form wird im Allgemeinen wegen ihrer Einfachheit und Lesbarkeit bevorzugt. Bei früheren Versionen von IE hatte die erste den Vorteil, dass sie mit a funktionieren konnte null Wert. Das Ergebnis der Bewerbung toLowerCase oder toLocaleLowerCase an null ergäbe null (und kein Fehlerzustand).

  • Der Teil über String.prototype.toLowerCase.apply(null) Rückkehr null scheint nicht richtig zu sein. Es wirft ein TypeError Ausnahme, wenn ich es versuche.

    – JohnnyHK

    20. Juli 2013 um 15:52 Uhr

  • @JohnnyHK Du hast Recht. Dieses Bit galt früher für frühere Versionen von IE, wo es zum Zeitpunkt der ursprünglichen Veröffentlichung der Antwort getestet wurde. Ich habe die Antwort aktualisiert, um Ihr Feedback widerzuspiegeln. Vielen Dank.

    – Atif Aziz

    18. Dezember 2013 um 12:28 Uhr

Benutzeravatar von pkaeding
pkaeding

Ja, jede Zeichenfolge in JavaScript hat ein toLowerCase() Methode, die eine neue Zeichenfolge zurückgibt, die die alte Zeichenfolge in Kleinbuchstaben ist. Der alte String bleibt unverändert.

Sie können also Folgendes tun:

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

Benutzeravatar von sanilunlu
sanilunlu

toLocaleUpperCase() oder Kleinbuchstabenfunktionen verhalten sich nicht so, wie sie es tun sollten. Beispielsweise werden auf meinem System mit Safari 4, Chrome 4 Beta und Firefox 3.5.x Zeichenfolgen mit türkischen Zeichen falsch konvertiert. Die Browser antworten auf navigator.language jeweils als „en-US“, „tr“, „en-US“.

Soweit ich finden konnte, gibt es jedoch keine Möglichkeit, die Accept-Lang-Einstellung des Benutzers im Browser abzurufen.

Nur Chrome macht mir Probleme, obwohl ich jeden Browser als bevorzugtes tr-TR-Gebietsschema konfiguriert habe. Ich denke, diese Einstellungen wirken sich nur auf den HTTP-Header aus, aber wir können nicht über JavaScript auf diese Einstellungen zugreifen.

In dem Mozilla-Dokumentation es heißt “Die Zeichen innerhalb einer Zeichenfolge werden in … konvertiert, wobei das aktuelle Gebietsschema berücksichtigt wird. Für die meisten Sprachen wird dies dasselbe zurückgeben wie …”. Ich denke, es ist für Türkisch gültig, und es unterscheidet sich nicht, wenn es als konfiguriert ist en oder tr.

Auf Türkisch sollte es “DİNÇ” in “dinç” und “DINÇ” in “dınç” oder umgekehrt umwandeln.

Benutzeravatar von ewwink
ewzwinker

Nur ein Beispiel für toLowerCase(), toUpperCase() und ein Prototyp für das noch nicht verfügbare toTitleCase() oder toProperCase():

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);

  • -1 Dieser Code ist sehr fehleranfällig mit allem, was nicht ASCII ist. Bei der deutschen Eingabe „die straße“ erhalten Sie beispielsweise „Die Straße“ als Titelfall. Richtig wäre “Die Straße”. Abgesehen davon ist Prototypenverschmutzung heutzutage verpönt.

    – ComFreek

    18. April 2020 um 13:40 Uhr


  • @ComFreek Es hätte damals fehlerhaft sein können, aber im Moment funktioniert es ziemlich gut damit node V17 und chrome V104

    – Polendin

    18. August um 17:05 Uhr


Benutzeravatar von Peter Mortensen
Peter Mortensen

Ich habe darauf geachtet, dass viele Leute Sie sehen zum strtolower() in JavaScript. Sie erwarten denselben Funktionsnamen wie in anderen Sprachen, und deshalb ist dieser Beitrag hier.

Ich würde empfehlen, eine zu verwenden einheimisch JavaScript-Funktion:

"SomE StriNg".toLowerCase()

Hier ist die Funktion, die sich genauso verhält wie die von PHP (für diejenigen, die PHP-Code in JavaScript portieren)

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

  • -1 Dieser Code ist sehr fehleranfällig mit allem, was nicht ASCII ist. Bei der deutschen Eingabe „die straße“ erhalten Sie beispielsweise „Die Straße“ als Titelfall. Richtig wäre “Die Straße”. Abgesehen davon ist Prototypenverschmutzung heutzutage verpönt.

    – ComFreek

    18. April 2020 um 13:40 Uhr


  • @ComFreek Es hätte damals fehlerhaft sein können, aber im Moment funktioniert es ziemlich gut damit node V17 und chrome V104

    – Polendin

    18. August um 17:05 Uhr


Benutzeravatar von Peter Mortensen
Peter Mortensen

Methoden oder Funktionen: toLowerCase() und toUpperCase()

Beschreibung: Diese Methoden werden verwendet, um eine Zeichenfolge oder ein Alphabet von Kleinbuchstaben in Großbuchstaben oder umgekehrt umzuwandeln. B. „und“ zu „UND“.

Umwandlung in Großbuchstaben:

Beispielcode:

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

Ergebnis: TESTFALLKONVERTIERUNGSMETHODE

Umwandlung in Kleinbuchstaben:

Beispielcode:

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

Ergebnis: Testen der Konvertierungsfunktion für Kleinbuchstaben

Erläuterung: In den obigen Beispielen

  • Die Methode toUpperCase() wandelt jeden String in Großbuchstaben um.

  • Die Methode toLowerCase() wandelt jeden String in „Kleinbuchstaben“ um.

1436690cookie-checkKonvertieren Sie den JavaScript-String in Kleinbuchstaben

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy