Cet extrait jQuery capitalise la première lettre de chaque mot dans une chaîne. Il est utile pour les entrées de formulaire, empêchant les titres ou le texte de tous les Caps.
// 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; }
Questions fréquemment posées (FAQ) sur la capitalisation des chaînes JavaScript
Voici plusieurs approches pour capitaliser la première lettre d'une chaîne ou chaque mot d'une chaîne en utilisant diverses méthodes JavaScript.
1. Capitaliser la première lettre avec slice()
:
Cette méthode concise utilise charAt(0)
pour obtenir le premier caractère, la convertit en majuscule avec toUpperCase()
, et la combine avec le reste de la chaîne en utilisant slice(1)
.
function capitalizeFirstLetter(str) { return str.charAt(0).toUpperCase() + str.slice(1); }
2. Capitaliser chaque mot avec split()
, map()
et join()
:
Cette approche divise la chaîne en mots, capitalise la première lettre de chaque mot à l'aide d'une fonction map()
, puis les rejoint.
function capitalizeWords(str) { return str.split(' ').map(word => capitalizeFirstLetter(word)).join(' '); }
3. toUpperCase()
vs toLocaleUpperCase()
:
Alors que les deux se convertissent en majuscules, toLocaleUpperCase()
considère les règles spécifiques aux paramètres régionaux, potentiellement différemment de toUpperCase()
pour les langues avec des règles de capitalisation uniques (par exemple, turc).
4. Capitaliser la première lettre sans toUpperCase()
(en utilisant ASCII):
Cette méthode exploite les valeurs ASCII. Les lettres minuscules (A-Z) ont des valeurs ASCII 97-122, majuscules (A-Z) 65-90. La soustraction de 32 convertit les minuscules en majuscules.
function capitalizeFirstLetterASCII(str) { let firstLetter = str.charCodeAt(0); if (firstLetter >= 97 && firstLetter <= 122) { firstLetter -= 32; } return String.fromCharCode(firstLetter) + str.slice(1); }
5. Capitaliser la première lettre avec des expressions régulières:
Les expressions régulières offrent une solution puissante, bien que potentiellement moins lisible. ^(.)
correspond au premier caractère.
function capitalizeFirstLetterRegex(str) { return str.replace(/^(.)/, (match) => match.toUpperCase()); }
6. Capitaliser la première lettre avec substring()
:
similaire à slice()
, substring()
extrait une partie de la chaîne.
function capitalizeFirstLetterSubstring(str) { return str.substring(0, 1).toUpperCase() + str.substring(1); }
7. Capitaliser la première lettre avec charAt()
:
Ceci est fonctionnellement identique à l'exemple slice()
.
function capitalizeFirstLetterCharAt(str) { return str.charAt(0).toUpperCase() + str.slice(1); }
8. Capitaliser la première lettre avec split()
(personnage par personnage):
Cela divise la chaîne en caractères individuels, capitalise le premier et se réjouit. Moins efficace que les autres méthodes.
function capitalizeFirstLetterSplit(str) { let arr = str.split(''); arr[0] = arr[0].toUpperCase(); return arr.join(''); }
9. Capitaliser la première lettre avec replace()
:
Ceci utilise replace()
pour cibler et remplacer le premier caractère.
function capitalizeFirstLetterReplace(str) { return str.replace(/^./, str[0].toUpperCase()); }
10. Capitaliser la première lettre avec concat()
:
Cela concaténe le premier caractère en majuscules avec le reste de la chaîne.
// 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; }
Toutes ces méthodes obtiennent le même résultat de base, mais leur efficacité et leur lisibilité peuvent varier. Les méthodes slice()
et charAt()
sont généralement préférées pour leur simplicité et leur efficacité lors de la capitalisation uniquement de la première lettre. Pour capitaliser toutes les premières lettres de mots, la combinaison split()
, map()
et join()
fournit une solution propre et lisible.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!