js过滤emoji表情符号

手机端常常会遇到用户输入框,输入emoji,如果是数据库是UTF8,会遇到报错:SQLException: Incorrect string value: 'xF0x9Fx98x84' for column 'review' at row 1

原因是:UTF-8编码有可能是两个、三个、四个字节。Emoji表情是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去。

过滤

php过滤emoji表情:

$name = preg_replace('/[^\u0000-\uFFFF]/ig', '', $string);

js过滤emoji表情:

name = name.replace(/uD83C[uDF00-uDFFF]|uD83D[uDC00-uDE4F]/g, "");

保留

参考:http://blog.csdn.net/ugg/article/details/44225723

原文地址:https://www.cnblogs.com/cqingt/p/5654366.html