Maison >interface Web >js tutoriel >Voici quelques options de titre, jouant avec différentes structures de questions : **Direct et concis :** * **Comment détecter les émojis en JavaScript avec les échappements de propriétés Unicode ?** * **Vous souhaitez détecter de manière fiable
Comment détecter de manière fiable les emojis en JavaScript
Inspecter les entrées utilisateur pour les emojis peut être difficile en JavaScript. Cet article explore une solution robuste utilisant des expressions régulières et des échappements de propriétés Unicode.
Détection des émojis à l'aide des propriétés Unicode
Les navigateurs modernes prennent en charge les échappements de propriétés Unicode, vous permettant de faire correspondre les caractères en fonction sur leurs catégories Unicode. Pour les emojis, la séquence d'échappement à faire correspondre est :
\p{Emoji}
Cela correspond aux caractères appartenant à la catégorie Emoji Unicode.
À l'exclusion des emojis numériques
Par défaut, le modèle ci-dessus correspond également à des caractères tels que "123456789#*" qui sont officiellement classés comme emojis. Pour les exclure, utilisez la propriété Extended_Pictographic escape :
\p{Extended_Pictographic}
Cela correspond aux caractères généralement compris comme des emojis, à l'exclusion des symboles numériques et autres.
Exemple de code :
<code class="javascript">// Test matches with different input console.log( /\p{Emoji}/u.test('flowers'), // false :) /\p{Emoji}/u.test('flowers ???'), // true :) /\p{Emoji}/u.test('flowers 123'), // true :( ); // Test with Extended_Pictographic property escape 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>
Remarque : Utilisez l'indicateur u à la fin de l'expression régulière pour garantir la prise en charge d'Unicode.
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!