Dieser JQuery -Snippet verbreitet den ersten Buchstaben jedes Wortes in einer Zeichenfolge. Es ist nützlich für Formulationseingänge und verhindert All-CAP-Titel oder Text.
// Usage: Attaches to keyup event of all input fields $("input").keyup(function() { toUpper(this); }); // Function: Capitalizes the first letter of each word function toUpper(obj) { let mystring = obj.value; let sp = mystring.split(' '); let word = []; for (let i = 0; i < sp.length; i++) { let f = sp[i].substring(0, 1).toUpperCase(); let r = sp[i].substring(1).toLowerCase(); word[i] = f + r; } let newstring = word.join(' '); obj.value = newstring; return true; }
häufig gestellte Fragen (FAQs) zur JavaScript -String -Kapitalisierung
Hier sind mehrere Ansätze zum Kapitalisieren des ersten Buchstabens einer Zeichenfolge oder jedes Wortes in einer Zeichenfolge mit verschiedenen JavaScript -Methoden.
1. Kapitalisieren Sie den ersten Buchstaben mit slice()
:
Diese prägnante Methode verwendet charAt(0)
, um das erste Zeichen zu erhalten, konvertiert es mit toUpperCase()
in Großbuchstaben und kombiniert es mit dem Rest der Zeichenfolge mit slice(1)
.
function capitalizeFirstLetter(str) { return str.charAt(0).toUpperCase() + str.slice(1); }
2. Wirksame jedes Wort mit split()
, map()
und join()
:
Dieser Ansatz spaltet die Zeichenfolge in Wörter, greift den ersten Buchstaben jedes Wortes mit einer map()
-Funktion aus und verbindet sie dann wieder zusammen.
function capitalizeWords(str) { return str.split(' ').map(word => capitalizeFirstLetter(word)).join(' '); }
3. toUpperCase()
vs. toLocaleUpperCase()
:
Während beide in Großbuchstaben konvertieren, unterscheidet toLocaleUpperCase()
für Sprachen mit einzigartigen Kapitalisierungsregeln (z. B. türkisch).
toUpperCase()
(mit ASCII): toUpperCase()
Diese Methode nutzt ASCII -Werte. Kleinbuchstaben (A-Z) haben ASCII-Werte 97-122, Großbuchstaben (A-Z) 65-90. Subtrahieren 32 Konvertiert Kleinbuchstaben in Großbuchstaben.
function capitalizeFirstLetterASCII(str) { let firstLetter = str.charCodeAt(0); if (firstLetter >= 97 && firstLetter <= 122) { firstLetter -= 32; } return String.fromCharCode(firstLetter) + str.slice(1); }
reguläre Ausdrücke bieten eine leistungsstarke, wenn auch möglicherweise weniger lesbare Lösung.
entspricht dem ersten Charakter.
^(.)
function capitalizeFirstLetterRegex(str) { return str.replace(/^(.)/, (match) => match.toUpperCase()); }
: substring()
ähnlich wie
extrahiert einen Teil der Zeichenfolge. slice()
substring()
function capitalizeFirstLetterSubstring(str) { return str.substring(0, 1).toUpperCase() + str.substring(1); }
: charAt()
Dies ist funktionell identisch mit dem Beispiel
slice()
function capitalizeFirstLetterCharAt(str) { return str.charAt(0).toUpperCase() + str.slice(1); }
(Zeichen für Zeichen): split()
Dies spaltet die Saite in einzelne Zeichen auf, aktiviert die erste und rejoins. Weniger effizient als andere Methoden.
function capitalizeFirstLetterSplit(str) { let arr = str.split(''); arr[0] = arr[0].toUpperCase(); return arr.join(''); }
: replace()
Dies verwendet
replace()
function capitalizeFirstLetterReplace(str) { return str.replace(/^./, str[0].toUpperCase()); }
: concat()
Dies verkettet den Großbuchstaben mit dem Rest der Zeichenfolge.
// Usage: Attaches to keyup event of all input fields $("input").keyup(function() { toUpper(this); }); // Function: Capitalizes the first letter of each word function toUpper(obj) { let mystring = obj.value; let sp = mystring.split(' '); let word = []; for (let i = 0; i < sp.length; i++) { let f = sp[i].substring(0, 1).toUpperCase(); let r = sp[i].substring(1).toLowerCase(); word[i] = f + r; } let newstring = word.join(' '); obj.value = newstring; return true; }
Alle diese Methoden erzielen das gleiche grundlegende Ergebnis, ihre Effizienz und Lesbarkeit können jedoch variieren. Die Methoden slice()
und charAt()
werden im Allgemeinen für ihre Einfachheit und Effizienz bevorzugt, wenn sie nur den ersten Buchstaben aktivieren. Für die Kapitalisierung aller ersten Wörterbuchstaben bietet die Kombination split()
, map()
und join()
eine saubere und lesbare Lösung.
Das obige ist der detaillierte Inhalt vonKapitalisieren Sie den ersten Buchstaben jedes Wortes über TastePress. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!