Maison  >  Article  >  interface Web  >  Comment puis-je détecter et identifier de manière fiable les emojis en JavaScript à l'aide d'expressions régulières ?

Comment puis-je détecter et identifier de manière fiable les emojis en JavaScript à l'aide d'expressions régulières ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-25 03:30:29993parcourir

How can I reliably detect and identify emojis in JavaScript using regular expressions?

Identifier les emojis en JavaScript à l'aide de Regex

La détection des emojis en JavaScript peut être difficile en raison de leur représentation Unicode. Alors que les méthodes suggérées précédemment reposent sur des plages numériques, cette approche n'est ni fiable ni flexible.

Heureusement, les navigateurs modernes prennent désormais en charge l'échappement des propriétés Unicode. Cela permet une correspondance précise des emojis par leur catégorie Unicode. Plus précisément, la propriété d'échappement "p{Emoji}" correspond à tous les emojis.

Cependant, il est important de noter que 0123456789#* et les caractères similaires sont officiellement classés comme emojis. Pour éviter de faire correspondre ces caractères, la propriété d'échappement "p{Extended_Pictographic}" peut être utilisée à la place, qui cible les caractères généralement compris comme des emojis.

Pour garantir la compatibilité, utilisez l'indicateur "u" à la fin du caractère normal. expression.

Exemples :

<code class="javascript">console.log(
  /\p{Emoji}/u.test('flowers'), // false :)
  /\p{Emoji}/u.test('flowers ???'), // true :)
  /\p{Emoji}/u.test('flowers 123'), // true :( 
)

console.log(
  /\p{Extended_Pictographic}/u.test('flowers'), // false :)
  /\p{Extended_Pictographic}/u.test('flowers ???'), // true :)
  /\p{Extended_Pictographic}/u.test('flowers 123'), // false :)
)</code>

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:
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