Maison > interface Web > js tutoriel > Capitaliser la première lettre de chaque mot sur Keypress

Capitaliser la première lettre de chaque mot sur Keypress

Lisa Kudrow
Libérer: 2025-03-04 00:07:17
original
604 Les gens l'ont consulté

Capitalize First Letter of Every Word on Keypress

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;
}
Copier après la connexion
Copier après la connexion

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);
}
Copier après la connexion

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(' ');
}
Copier après la connexion

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);
}
Copier après la connexion

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());
}
Copier après la connexion

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);
}
Copier après la connexion

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);
}
Copier après la connexion

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('');
}
Copier après la connexion

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());
}
Copier après la connexion

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;
}
Copier après la connexion
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal