Wie mache ich den ersten Buchstaben eines String-Großbuchstabens in JavaScript?
Wie mache ich den ersten Buchstaben eines string in Großbuchstaben, aber nicht ändern Sie den Fall von einem der anderen Buchstaben?
Beispiel:
"this is a test"
->"This is a test"
"the Eiffel Tower"
->"The Eiffel Tower"
"/index.html"
->"/index.html"
InformationsquelleAutor der Frage Robert Wills | 2009-06-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einige andere Antworten ändern
String.prototype
(diese Antwort verwendet als gut), aber ich würde abraten, jetzt wegen der Wartungsfreundlichkeit (schwer zu finden, wo die Funktion Hinzugefügt, um dieprototype
und könnte zu Konflikten führen, wenn andere code verwendet die gleichen Namen /ein browser eine native Funktion mit demselben Namen in Zukunft).InformationsquelleAutor der Antwort Steve Harrison
Einer mehr Objekt-orientierten Ansatz:
Dann:
InformationsquelleAutor der Antwort Steve Hansell
CSS:
InformationsquelleAutor der Antwort sam6ber
Hier ist eine verkürzte version der beliebtesten Antwort, bekommt der erste Brief behandelt den string als array:
Update:
Laut den Kommentaren unterhalb dieses funktioniert nicht in IE 7 oder darunter.
Update 2:
Vermeiden
undefined
für leere Zeichenfolgen (siehe @njzk2 Kommentar unten), können Sie prüfen, ob eine leere Zeichenfolge:InformationsquelleAutor der Antwort joelvh
Wenn Sie interessiert sind, in der Leistung von ein paar verschiedenen Methoden verfasst:
Hier sind die schnellsten Methoden, basierend auf in diesem jsperf-test (bestellt vom schnellsten zum langsamsten).
Wie Sie sehen können, die ersten zwei Methoden sind im wesentlichen vergleichbar im Hinblick auf Leistung, in der Erwägung, dass die änderung der
String.prototype
ist mit Abstand die langsamste in Bezug auf Leistung.InformationsquelleAutor der Antwort Josh Crozier
Für einen anderen Fall, ich brauche es, um die Anfangsbuchstaben und Kleinbuchstaben den rest. Den folgenden Fällen vorgenommen mich zu ändern diese Funktion:
InformationsquelleAutor der Antwort alejandro
Hier sind die besten Lösungen:
Erste Lösung CSS:
Zweite Lösung :
Könnten Sie auch hinzufügen, um die
String.prototype
so könnte man die Kette mit anderen Methoden:und verwenden Sie es wie diese:
Dritte Lösung:
InformationsquelleAutor der Antwort Kamil Ibadov
InformationsquelleAutor der Antwort Anup
Großschreibung des ersten Buchstaben aller Wörter in einer Zeichenfolge:
InformationsquelleAutor der Antwort Dan
Konnten wir das erste Zeichen mit einem meiner Lieblings -
RegExp
sieht aus wie eine niedliche smiley:/^./
Und für alle Kaffee-junkies:
...und für alle Jungs, die denken, dass es einen besseren Weg, dies zu tun, auch ohne die nativen Prototypen:
InformationsquelleAutor der Antwort yckart
Dann:
Update Nov.2016 (ES6), just for FUN :
dann
capitalize("hello") //Hello
InformationsquelleAutor der Antwort Abdennour TOUMI
Wenn Sie bereits (oder erwägen) mit
lodash
die Lösung ist einfach:Finden Sie Ihre docs: https://lodash.com/docs#capitalize
_.camelCase('Foo Bar'); //=> 'fooBar'
https://lodash.com/docs/4.15.0#camelCase
Vanilla js für den ersten Großbuchstaben:
InformationsquelleAutor der Antwort chovy
Wenn Sie underscore.js oder Lo-Dashdie Unterstrich.string Bibliothek bietet die string-Erweiterungen, einschließlich profitieren:
Beispiel:
InformationsquelleAutor der Antwort andersh
InformationsquelleAutor der Antwort Fredrik A.
Wenn Sie wollen, zu formatieren, alle Kappen text, möchten Sie vielleicht ändern Sie die anderen Beispiele als solche:
Dadurch wird sichergestellt, dass der folgende text ist geändert:
InformationsquelleAutor der Antwort monokrome
Scheint es einfacher zu sein in CSS:
Dies ist aus CSS-Eigenschaft text-transform (bei W3Schools).
InformationsquelleAutor der Antwort Ryan
InformationsquelleAutor der Antwort zianwar
CSS nur
: first-letter
gilt es für die erste Charakterd.h. im Falle von string%a
diesen Selektor gelten würde%
und als solchea
würde nicht groß geschrieben werden.:first-letter
).ES2015 one-liner
Da gibt es zahlreiche Antworten, aber keiner in ES2015 das wäre zu lösen ursprünglichen problem effizient, ich kam mit der folgenden:
Bemerkungen
parameters => function
wird so genannt,Pfeil-Funktion.capitalizeFirstChar
stattcapitalizeFirstLetter
weil die OP hat nicht gefragt, der code, Großschreibung des ersten Buchstaben im gesamten string, aber der erste char (wenn es den Brief, natürlich).const
gibt uns die Möglichkeit zu erklärencapitalizeFirstChar
als Konstante, die gewünscht ist, da du als Programmierer sollte immer explizit erklären Sie Ihre Absichten.string.charAt(0)
undstring[0]
. Beachten Sie jedoch, dassstring[0]
wäreundefined
für leeren string, so sollte es sein umgeschrieben, umstring && string[0]
die ist viel zu ausführlich im Vergleich zu den alternativen.string.substring(1)
ist schneller alsstring.slice(1)
.Benchmark
InformationsquelleAutor der Antwort Przemek
Verwendung:
Dies ist ein text string => Dies Ist Ein Text-String
InformationsquelleAutor der Antwort Murat Kucukosman
InformationsquelleAutor der Antwort Salim
Hier ist eine Funktion namens ucfirst() (kurz für "upper case first letter"):
Können Sie profitieren die ein string durch den Aufruf ucfirst("some string") -- zum Beispiel,
Es funktioniert durch die Teilung der saite in zwei Teile. In der ersten Zeile, es zieht firstLetter und dann auf die zweite Zeile es nutzt firstLetter durch den Aufruf firstLetter.toUpperCase() und verbindet es mit dem rest des Strings, der durch Aufruf str.substr(1).
Man könnte denken, dies würde nicht für eine leere Zeichenfolge, und zwar in einer Sprache wie C, die Sie haben würden, zu befriedigen. Aber in JavaScript, wenn Sie einen Teilstring ein leerer string, Sie bekommen einfach einen leeren string zurück.
InformationsquelleAutor der Antwort Robert Wills
Kasse diese Lösung:
InformationsquelleAutor der Antwort Raju Bera
(Sie können die Kapseln in einer Funktion oder sogar fügen Sie es der String-Prototyp, wenn Sie es verwenden Häufig.)
InformationsquelleAutor der Antwort Simon
Den
ucfirst
- Funktion funktioniert, wenn Sie es so machen.Danke J-P für die aclaration.
InformationsquelleAutor der Antwort raphie
Können Sie tun es in einer Zeile wie dieser
InformationsquelleAutor der Antwort Qwerty
In CoffeeScript fügen Sie der Prototyp für einen string:
Verwendung wäre:
Welche ergibt:
InformationsquelleAutor der Antwort longda
Es ist immer besser in den Griff, diese Arten von Futtermitteln die Verwendung von CSS-erste, im Allgemeinen, wenn Sie lösen können, etwas mit CSS, für diesen ersten, dann versuchen Sie JavaScript, um Ihre Probleme zu lösen, so dass in diesem Fall versuchen Sie es mit
:first-letter
in CSS und geltentext-transform:capitalize;
So versuchen Sie, erstellen der Klasse, so dass Sie können es verwenden, Global, zum Beispiel:
.first-letter-uppercase
und fügen Sie so etwas wie unten in Ihre CSS:Auch die alternative Möglichkeit ist JavaScript, also das beste, werde so etwas wie dieses:
und nennen mag:
Wenn Sie wiederverwenden möchten Sie über und über, es ist besser, bringen Sie es zu javascript native String, so etwas wie unten:
und rufen Sie es wie folgt:
InformationsquelleAutor der Antwort Alireza
Verwendung:
InformationsquelleAutor der Antwort Pnobuts
zurück
"Ruby java"
http://jsfiddle.net/amitpandya/908c8e2v/
Ergebnis-link in jsfiddle
InformationsquelleAutor der Antwort AMIC MING