JavaScript で絵文字を確実に検出する方法
JavaScript ではユーザー入力の絵文字を検査するのが難しい場合があります。この記事では、正規表現と Unicode プロパティ エスケープを使用した堅牢なソリューションについて説明します。
Unicode プロパティを使用した絵文字の検出
最新のブラウザでは Unicode プロパティ エスケープがサポートされており、文字ベースの照合が可能です。 Unicode カテゴリについて。絵文字の場合、一致するエスケープ シーケンスは次のとおりです。
\p{Emoji}
これは、絵文字 Unicode カテゴリに属する文字と一致します。
数値絵文字を除く
デフォルトでは、上記のパターンは、正式に絵文字として分類されている「123456789#*」のような文字にも一致します。これらを除外するには、Extended_Pictographic プロパティのエスケープを使用します。
\p{Extended_Pictographic}
これは、数字やその他の記号を除き、通常絵文字として理解される文字に一致します。
コード例:
<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>
注: Unicode を確実にサポートするには、正規表現の最後に u フラグを使用します。
以上がここでは、さまざまな質問構造を試した、いくつかのタイトル オプションを示します。 **直接的かつ簡潔:** * **Unicode プロパティ エスケープを使用して JavaScript で絵文字を検出するにはどうすればよいですか?** * **確実に検出したいの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。