Heim > Artikel > Backend-Entwicklung > javascript - Wie kann man feststellen, ob eine Zeichenfolge Emoji-Zeichen enthält?
Ich habe eine Seite erstellt, hauptsächlich die Inhaltseingabe auf dem Mobiltelefon, die im PC-Browser angezeigt werden soll.
Allerdings können Emojis auf dem Mobiltelefon eingegeben werden, der Browser kann sie jedoch nicht anzeigen. Aus irgendeinem Grund möchte ich auch nicht, dass es angezeigt wird.
Ich hoffe, beim Senden auf dem Mobiltelefon einen Test durchführen zu können, um zu überprüfen, ob der vom Benutzer eingegebene Text Emojis enthält. Wenn ja, wird der Benutzer aufgefordert, keine Emojis einzufügen.
Wie schreibe ich diese if-Bedingung?
Der Code des PHP-Backends oder des JS-Frontends ist akzeptabel.
Ich habe eine Seite erstellt, hauptsächlich die Inhaltseingabe auf dem Mobiltelefon, die im PC-Browser angezeigt werden soll.
Emojis können jedoch auf dem Mobiltelefon eingegeben werden, der Browser kann sie jedoch nicht anzeigen. Aus irgendeinem Grund möchte ich auch nicht, dass es angezeigt wird.
Ich hoffe, beim Senden auf dem Mobiltelefon einen Test durchführen zu können, um zu überprüfen, ob der vom Benutzer eingegebene Text Emojis enthält. Wenn ja, wird der Benutzer aufgefordert, keine Emojis einzufügen.
Wie schreibe ich diese if-Bedingung?
Der Code des PHP-Backends oder des JS-Frontends ist akzeptabel.
Verwenden Sie reguläre Ausdrücke zum Filtern oder verwenden Sie Unicode-Codierung, um
zu bestimmen
http://www.unicode.org/Public...
Filtern Sie nach dem darin aufgeführten Bereich. Sie können reguläre Ausdrücke verwenden oder eine Hash-Map auflisten
var re = /[Ausdruck 1]|[Ausdruck 2]|[Ausdruck 3]..../ ;
re.test(das Zeichen, das Sie erkennen möchten);
Eigentlich gibt es einen Weg. Verwenden Sie dazu die Funktionsreihe mb
. Bestimmen Sie zunächst die Länge. Führen Sie dann eine Schleife aus, um jedes Zeichen zu bestimmen. Dieses Zeichen besteht aus 4 Bytes. Ein Emoiji-Symbol umfasst 4 Zeichen. Allgemeine Zeichenfolgen, also chinesische Zeichen, können bis zu 3 Zeichen umfassen. Sobald Sie dieses Urteil gefällt haben, wird es geklärt.
Bestimmen Sie die Zeichenkodierung, passen Sie sie an und ersetzen Sie sie.
<code>var param = ""; var regRule = /\uD83C[\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F]/g; if(param.match(regRule)) { param = param.replace(/\uD83C[\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F]/g, ""); alert("不支持表情"); } </code>
<code>function have_emoji($str){ $mat = []; preg_match_all('/./u', $str,$mat); foreach ($mat[0] as $v){ if(strlen($v) > 3){return true;} } return false; }</code>