Heim  >  Artikel  >  Backend-Entwicklung  >  javascript - Wie kann man feststellen, ob eine Zeichenfolge Emoji-Zeichen enthält?

javascript - Wie kann man feststellen, ob eine Zeichenfolge Emoji-Zeichen enthält?

WBOY
WBOYOriginal
2016-08-18 09:16:352873Durchsuche

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.

Antwortinhalt:

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>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn