Rumah >hujung hadapan web >tutorial js >Bagaimanakah saya boleh mengesan dan mengenal pasti emoji dalam JavaScript dengan pasti menggunakan ungkapan biasa?

Bagaimanakah saya boleh mengesan dan mengenal pasti emoji dalam JavaScript dengan pasti menggunakan ungkapan biasa?

Patricia Arquette
Patricia Arquetteasal
2024-10-25 03:30:291096semak imbas

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

Mengenal pasti Emoji dalam JavaScript Menggunakan Regex

Mengesan emoji dalam JavaScript boleh mencabar kerana perwakilan unikodnya. Walaupun kaedah yang dicadangkan sebelum ini bergantung pada julat mumerik, pendekatan ini tidak boleh dipercayai dan tidak fleksibel.

Mujurlah, penyemak imbas moden kini menyokong penyingkiran sifat Unicode. Ini membolehkan padanan emoji yang tepat mengikut kategori unikod mereka. Khususnya, melarikan diri sifat "p{Emoji}" sepadan dengan semua emoji.

Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa 0123456789#* dan aksara yang serupa secara rasmi diklasifikasikan sebagai emoji. Untuk mengelak daripada memadankan aksara ini, escape sifat "p{Extended_Pictographic}" boleh digunakan sebaliknya, yang menyasarkan aksara yang biasanya difahami sebagai emoji.

Untuk memastikan keserasian, gunakan bendera "u" di hujung huruf biasa. ungkapan.

Contoh:

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

Atas ialah kandungan terperinci Bagaimanakah saya boleh mengesan dan mengenal pasti emoji dalam JavaScript dengan pasti menggunakan ungkapan biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn