package net.coding.program.third; import android.content.Context; import android.view.Gravity; import android.widget.Toast; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * Created by chaochen on 14-9-25. */ public class EmojiFilter { private final static Pattern mPattern = Pattern.compile("∀[^@\\s<>・::,,。…~!!°??'‘\"()\\u0800-\\u9fa5^\\u0020-\\u007e\\s\\t\\n\\r\\n\\u3002\\uff1b\\\\uff0c\\\\uff1a\\\\u201c\\\\u201d\\\\uff08\\\\uff09\\\\u3001\\\\uff1f\\\\u300a\\\\u300b\\\\uff01\\\\u2019\\\\u2018\\\\u2026\\u2014\\uff5e\\uffe5]+"); public static boolean containsEmoji(String source) { Matcher matcher = mPattern.matcher(source); return matcher.find(); } public static boolean containsEmptyEmoji(Context context, String input, String alertEmpty, String alertEmoji) { if (input.isEmpty()) { showMiddleToast(context, alertEmpty); return true; } return containsEmoji(context, input, alertEmoji); } public static boolean containsEmptyEmoji(Context context, String input) { if (input.replaceAll(" ", "").replaceAll(" ", "").isEmpty()) { showMiddleToast(context, "内容不能为空"); return true; } return containsEmoji(context, input); } public static boolean containsEmoji(Context context, String input) { return containsEmoji(context, input, "暂不支持发表情"); } public static boolean containsEmoji(Context context, String input, String alertMessage) { if (EmojiFilter.containsEmoji(input)) { showMiddleToast(context, alertMessage); return true; } return false; } private static void showMiddleToast(Context context, String msg) { Toast toast = Toast.makeText(context, msg, Toast.LENGTH_SHORT); toast.setGravity(Gravity.CENTER, 0, 0); toast.show(); } }