
JavaScriptで絵文字を除去する
Webサイトで絵文字を入力して送信すると文字化けすることがある。
例えば「😭文字化け」と入力すると「〓j字化け」のようになる。
これを防ぐにはサーバー側の対応が必要だが容易に対応できないことが多い。
この場合JavaScriptで入力時に絵文字を除去すれば簡単に対応できる。
絵文字除去の実装方法
まず下記のJavaScriptの関数を読み込む。
function removeEmoji(t) {
var ranges = [
'\ud83c[\udf00-\udfff]',
'\ud83d[\udc00-\ude4f]',
'\ud83d[\ude80-\udeff]',
'\ud7c9[\ude00-\udeff]',
'[\u2600-\u27BF]'
];
var reg = new RegExp(ranges.join('|'), 'g');
t.value = (t.value).replace(reg, '');
}
あとはinputタグやtextareaタグにoninput="removeEmoji(this)"を追加するだけだ。
<input type="text" oninput="removeEmoji(this)"> <textarea oninput="removeEmoji(this)"></textarea>
JavaScript入力フォームinput, textarea絵文字除去サンプル


