61 votes

Vérifier si la première lettre du mot est une majuscule

Est-il possible en JavaScript de savoir si la première lettre d'un mot est une majuscule ?

0 votes

1 votes

EDIT : Oui. Essayez /^[A-Z]/.test(phrase) ( aquí )

1 votes

@DavidRodrigues piège potentiel là, [A-Z] ne correspond pas aux lettres majuscules accentuées ou non ASCII, voir nouvelle réponse stackoverflow.com/a/39292247/568458

2voto

jcroll Points 2576

Utilisation de la match du prototype de l'objet chaîne :

const word = 'Someword';
console.log(word.match(new RegExp(/^[A-Z]/)) !== null);

0 votes

Cela pourrait répondre à la question, mais veuillez également fournir une brève explication, ce que votre code fait et pourquoi il résout le problème initial.

0 votes

Il s'agit d'une correspondance d'expressions régulières. Renseignez-vous sur la documentation du langage : developer.mozilla.org/fr/US/docs/Web/JavaScript/Référence/

0 votes

Les expressions régulières ("RegEx") ne sont pas spécifiques à JS, c'est un sujet à part entière pour lequel il existe suffisamment de tutoriels.

0voto

smnbss Points 550
var string1 = "this is a string";
var string2 = "This is a string";

if(string1[0] == string1[0].toUpperCase())
    alert('is upper case');
else
    alert('is not upper case');

if(string2[0] == string2[0].toUpperCase())
    alert('is upper case');
else
    alert('is not upper case');

0voto

Reza Taba Points 480

Tapuscrit

//userEntry input as string
//return boolean
oneUppercaseRequired(userEntry: string): boolean {
   const letters = /[A-Z]/;

   if (letters.test(userEntry[0]))
     return true;

   return false;
}

for-loop pour d'autres langues Adaptez la syntaxe à votre langue !

//userEntry param as string
//return boolean
oneUppercaseRequired(userEntry: string): boolean {
   const letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

   for (let i = 0; i < letters.length; i++) {
     if (userEntry[0] == letters[i])
       return true;
   }

   return false;
}

0 votes

Il ne faut pas coder en dur la logique pour des langues spécifiques ; si la langue est pertinente, il s'agit probablement d'un paramètre utilisateur avec de multiples possibilités, et toLowerCase etc. couvre déjà tous les caractères unicode qui sont en majuscules. Il n'est pas nécessaire de réinventer la roue, en créant une logique fragile qui ne fonctionne que pour une seule langue. De plus, conseil de style : vous n'avez jamais besoin de if (condition) { return true } return false , test y === retournent déjà des booléens, vous pouvez simplement faire return someRegex.test(someString) ; et si vous aviez besoin de boucler une chaîne, vous pourriez faire return someString.includes(subString) .

0 votes

Réponse trompeuse : Le code TypeScript fonctionne de la même manière en JavaScript (il suffit d'enlever les annotations de type et tout va bien, ce sont les mêmes fonctions String intégrées). L'approche for-loop est viable, mais inefficace (à ne pas utiliser lorsque des matchers reg-ex sont disponibles). Cette réponse n'ajoute rien à celle déjà donnée ici : stackoverflow.com/a/45307750/589493

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X