Wie kann ich einen JavaScript-Zeichenfolgenwert so konvertieren, dass er nur aus Kleinbuchstaben besteht?
Ejemplo: "Your Name"
à "your name"
Wie kann ich einen JavaScript-Zeichenfolgenwert so konvertieren, dass er nur aus Kleinbuchstaben besteht?
Ejemplo: "Your Name"
à "your name"
Verwenden Sie entweder toLowerCase ou toLocaleLowerCase Methoden der Zeichenfolge Objekt. Der Unterschied besteht darin, dass toLocaleLowerCase
wird das aktuelle Gebietsschema des Benutzers/Hosts berücksichtigt. Gemäß § 15.5.4.17 der Spezifikation der ECMAScript-Sprache (ECMA-262) , toLocaleLowerCase
funktioniert genau so wie toLowerCase mit der Ausnahme, dass sein Ergebnis das richtige Ergebnis für die aktuelle Umgebung liefern soll, anstatt und nicht ein lokales-unabhängiges Ergebnis. Es gibt nur einen Unterschied in den wenigen Fällen (z.B. Türkisch), in denen die Regeln für diese Sprache im Widerspruch zu den regulären Unicode-Groß-/Kleinschreibungstypen kollidieren.
Beispiel:
var lower = 'Your Name'.toLowerCase();
Beachten Sie auch, dass die toLowerCase
y toLocaleLowerCase
Funktionen sind so implementiert, dass sie generisch auf jede Werttyp. Daher können Sie diese Funktionen auch auf nicht String
Objekte. Dadurch wird eine automatische Konvertierung in einen Zeichenkettenwert vorgenommen, bevor die Groß- und Kleinschreibung der einzelnen Zeichen im resultierenden Zeichenkettenwert geändert wird. Zum Beispiel können Sie anwenden. toLowerCase
direkt bei einem solchen Date:
var lower = String.prototype.toLowerCase.apply(new Date());
und das ist praktisch gleichbedeutend mit:
var lower = new Date().toString().toLowerCase();
Die zweite Form wird im Allgemeinen wegen ihrer Einfachheit und Lesbarkeit bevorzugt. In früheren Versionen des IE hatte die erste Form den Vorteil, dass sie mit einer null
Wert. Das Ergebnis der Anwendung toLowerCase
ou toLocaleLowerCase
auf null
würde ergeben null
(und nicht eine Fehlerbedingung).
Ja, jede Zeichenkette in JavaScript hat eine toLowerCase()
Methode, die eine neue Zeichenfolge zurückgibt, die der alten Zeichenfolge in Kleinbuchstaben entspricht. Die alte Zeichenkette bleibt unverändert.
Sie können also etwas tun wie:
"Foo".toLowerCase();
document.getElementById('myField').value.toLowerCase();
ToLocaleUpperCase() oder Kleinbuchstaben-Funktionen verhalten sich nicht so, wie sie es tun sollten. Zum Beispiel werden auf meinem System mit Safari 4, Chrome 4 Beta und Firefox 3.5.x Zeichenketten mit türkischen Zeichen falsch konvertiert. Die Browser reagieren auf navigator.language als "en-US", "tr" bzw. "en-US".
Aber es gibt keine Möglichkeit, die Accept-Lang-Einstellung des Benutzers im Browser abzurufen, soweit ich das finden konnte.
Nur Chrome macht mir Probleme, obwohl ich jeden Browser als tr-TR Gebietsschema bevorzugt konfiguriert habe. Ich denke, diese Einstellungen betreffen nur den HTTP-Header, aber wir können nicht über JavaScript auf diese Einstellungen zugreifen.
In der Mozilla-Dokumentation heißt es: "Die Zeichen in einer Zeichenkette werden in ... umgewandelt, wobei das aktuelle Gebietsschema berücksichtigt wird. Für die meisten Sprachen wird dies dasselbe Ergebnis liefern wie ...". Ich denke, das gilt für Türkisch, und es macht keinen Unterschied, ob es als en ou tr .
Im Türkischen sollte es "DNÇ" in "dinç" und "DINÇ" in "dnç" umwandeln oder umgekehrt.
Nur ein Beispiel für toLowerCase()
, toUpperCase()
und ein Prototyp für das noch nicht erhältliche toTitleCase()
ou 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);
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.