判断过滤表情

判断字符串中是否包含emoji表情 判断字符串是否包含emoji表情 立即下载
/**
     * 判断是否含有emoj表情
     * @param source
     * @return
     */
    public static boolean containsEmoji(String source) {
        int len = source.length();
        boolean isEmoji = false;
        for (int i = 0; i < len; i++) {
            char hs = source.charAt(i);
            if (0xd800 <= hs && hs <= 0xdbff) {
                if (source.length() > 1) {
                    char ls = source.charAt(i + 1);
                    int uc = ((hs - 0xd800) * 0x400) + (ls - 0xdc00) + 0x10000;
                    if (0x1d000 <= uc && uc <= 0x1f77f) {
                        return true;
                    }
                }
            } else {
                // non surrogate
                if (0x2100 <= hs && hs <= 0x27ff && hs != 0x263b) {
                    return true;
                } else if (0x2B05 <= hs && hs <= 0x2b07) {
                    return true;
                } else if (0x2934 <= hs && hs <= 0x2935) {
                    return true;
                } else if (0x3297 <= hs && hs <= 0x3299) {
                    return true;
                } else if (hs == 0xa9 || hs == 0xae || hs == 0x303d
                        || hs == 0x3030 || hs == 0x2b55 || hs == 0x2b1c
                        || hs == 0x2b1b || hs == 0x2b50 || hs == 0x231a) {
                    return true;
                }
                if (!isEmoji && source.length() > 1 && i < source.length() - 1) {
                    char ls = source.charAt(i + 1);
                    if (ls == 0x20e3) {
                        return true;
                    }
                }
            }
        }
        return isEmoji;
    }


    private static boolean isEmojiCharacter(char codePoint) {
        return (codePoint == 0x0) || (codePoint == 0x9) || (codePoint == 0xA)
                || (codePoint == 0xD)
                || ((codePoint >= 0x20) && (codePoint <= 0xD7FF))
                || ((codePoint >= 0xE000) && (codePoint <= 0xFFFD))
                || ((codePoint >= 0x10000) && (codePoint <= 0x10FFFF));
    }


    /**
     * 过滤emoji 或者 其他非文字类型的字符
     * 
     * @param source
     * @return
     */
    public static String filterEmoji(String source) {
        if (StringUtils.isBlank(source)) {
            return source;
        }
        StringBuilder buf = null;
        int len = source.length();
        for (int i = 0; i < len; i++) {
            char codePoint = source.charAt(i);
            if (isEmojiCharacter(codePoint)) {
                if (buf == null) {
                    buf = new StringBuilder(source.length());
                }
                buf.append(codePoint);
            }
        }
        if (buf == null) {
            return source;
        } else {
            if (buf.length() == len) {
                buf = null;
                return source;
            } else {
                return buf.toString();
            }
        }
    }
Windows 11任务管理器隐藏技能:一眼揪出内存泄漏的“元凶”(分页/非分页缓冲池详解) 本文详细介绍了Windows 11任务管理器中隐藏的分页缓冲池和非分页缓冲池功能,帮助用户精准定位内存泄漏问题。通过启用隐藏列、解读数据异常信号,并结合实战案例和高级工具推荐,为开发者和IT运维人员提供了高效的内存问题诊断与解决方案。 阅读详情

相关推荐

FPGA实战:手把手教你用Verilog驱动4.3寸RGB触摸屏(附完整代码)

本文详细介绍了如何使用Verilog语言在FPGA上驱动4.3寸RGB触摸屏,包括时序设计、信号交互原理及完整代码实现。通过双计数器引擎设计和参数化模块,开发者可以高效构建800*480分辨率的显示驱动,并解决工程实践中的信号完整性和时序收敛问题。

rice5的博客 701

java 判断字符串中是否包含emoj表情及过滤。

package com.luo.dtqjh.utils; import org.apache.commons.lang.StringUtils; public class EmojiFilter {     public static boolean containsEmoji(String source) {         int len = source.length

FYWT98的博客 5304

如何使用MCP2518FD外部CAN FD控制器实现速速CAN通信

1、SPI时序MCP2518FD外部CAN FD控制器具有小尺寸和SPI接口,可实现轻松连接。可将CAN FD通道轻松添加到缺少CAN FD外设或没有所需CAN FD通道的微控制器上。MCP2518FD支持经典格式 (CAN 2.0B) 和CAN灵活数据速率 (CAN FD) 格式中的CAN帧格式,符合ISO11898-1:2015标准。框图:本文实验板MCU:CAN FD控制器:MCP2518FDCAN FD收发器:ATA6560开发环境:想了解开发板更详细信息,请点击。

qq_57798018的博客 1万+

TypeScript过滤特殊字符及Emoji表情符号

function filterSpecialChar(inputString: string): string { var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>《》/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]"); // 过滤特殊字符 var subString = inputString.replace(pattern, ''); var tmpString .

wind的专栏 1593

利用OTSU阈值算法在ZYNQ上实现浒苔识别

利用OTSU阈值算法进行图像二值化,结果用HDMI显示

qq_38075564的博客 1274

用Python模拟随机游走:从一维到三维,直观理解马尔可夫链的常返性

本文通过Python模拟一维到三维的随机游走,直观展示马尔可夫链的常返性特性。使用NumPy和Matplotlib构建模拟器,揭示不同维度下随机游走的返回概率差异,帮助读者理解为什么一维和二维游走具有常返性,而三维游走可能永远迷失。文章包含完整的代码示例和可视化技巧,适合概率论和Python编程爱好者学习实践。

weixin_28694295的博客 399

Emoji-java:判断字符串是否包含Emoji表情符

Emoji-javaEmoji-java具体代码实现 Emoji-java github地址: https://github.com/vdurmont/emoji-java 具体代码实现 引入依赖 <dependency> <groupId>com.vdurmont</groupId> <artifactId>emoji-java</artifactId> <ve

Apollo 5321

手把手式介绍 ADNI 影像数据下载

1.搜索 1.1登录 打开ADNI的官网:http://adni.loni.usc.edu/,进入下面的界面。 点击 DATA&SMPLES 下的 ACCESS DATA AND SAMPLES,如下图。 页面跳转以后点击中间的“LOGIN”,这时会跳出一个新的界面,然后在右上角输入自己的帐号、密码即可。如果没有权限可以跳转到第2部分看看如何申请权限。 登录以后选择DOWNLOAD下的 Image Collections就是搜索下载影像数据,其他还有一些学习测试数据和遗传数据。 1.2 sea

永远想不起来更新的博客 1万+

java 判断字符串中是否包含emoj表情及过滤

java 判断字符串中是否包含emoj表情及过滤 package com.luo.dtqjh.utils; import org.apache.commons.lang.StringUtils; public class EmojiFilter { public static boolean containsEmoji(String source) { int...

zxl2016的博客 2058

基于STM32的简易电压、频率、占空比测量仪

任务详解:我们需要实现三个功能: 第一个是测频率的功能,输入信号为频率为1kHz~10kHz的三种波形(方波、三角波、正弦波),这也是我们最常见的三种波形。幅度是不需要测量的,所以先不关心幅度。 第二个是电压报警功能,当输入信号的幅度超过15V时,我们需要报警(这里我用了一个红色LED当报警器,有条件的还可以加个蜂鸣器)并且把此时的信号幅度显示在OLED屏幕上。 第三个是通信方式的要求,需要有串口通信功能。 第四个是计算占空比的任务,这个任务的输入是幅度为1V~10V、频率为20Hz ~1kHz的方波,需要

weixin_43469377的博客 7251

保姆级教程:用YOLOv5s训练PCB缺陷检测模型(附北大公开数据集)

本文提供了一份基于YOLOv5s的PCB缺陷检测模型从零开始的完整实战教程。详细解析了如何使用北大公开数据集,涵盖环境搭建、数据处理、模型训练、性能评估及优化部署全流程,并针对工业场景中常见的类别不均衡问题给出了具体解决方案,旨在帮助开发者快速构建高精度的自动化质检系统。

weixin_28285943的博客 306

java 过滤特殊字符串和emoji表情符号

java 过滤特殊字符串和emoji表情符号

longqi_123的博客 4746

【更新中260712】CRAIC中国机器人及人工智能大赛-机器人应用赛-智能产线赛项-备赛指南

2025年第二十七届中国机器人及人工智能大赛现已闭幕结合我小组自身备赛情况及见闻感悟,现整理成章。

EDUCN 938

JS判断与过滤的表情符号表情的方法

一、js判断文本中是否有表情符号表情 isEmojiCharacter(substring){ for ( var i = 0; i <substring.length; i ++){ var hs = substring.charCodeAt(i); if (0xd800 <= hs && hs ...

dds5656的博客 1220

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

js判断与过滤emoji表情的方法

使用JS过滤emoji表情的主要原因:input标签中输入emoji表情,提交表单后插入数据库报错。  原因是因为UTF-8编码有可能是两个、三个、四个字节。Emoji表情是4个字节,而MySQL的utf8编码最多3个字节,所以数据插不进去。  于是找到两个解决方案:  1.将Mysql的编码从utf8转换成utf8mb4  2.前端JS校验过滤掉emoji表情 下面主要粘下过滤em

TKG09的博客 2万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

java 判断字符串中是否包含emoj表情及过滤,完美解决。

最近遇到一个很蛋疼的问题,用户如果在客户端输入表情可能会引起一些报错,在查了一些资料后发现很多坑人的代码,我在总结了之后给出了一个比较完美的版本。 亲测可以判断绝大多数表情。 package com.luo.dtqjh.utils;import org.apache.commons.lang.StringUtils;public class EmojiFilter { public stat

luozisonghao的专栏 3万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

java 检测表情符号_java 判断字符串中是否包含emoj表情及过滤。

package com.luo.dtqjh.utils;import org.apache.commons.lang.StringUtils;public class EmojiFilter {public static boolean containsEmoji(String source) {int len = source.length();boolean isEmoji = false;f...

weixin_39980893的博客 692

正则过滤符号_判断与过滤的表情符号表情的方法

使用JS过滤表情符号表情的主要原因:输入标签中输入表情符号表情,表单提交后插入数据库。报错原因: 因为UTF-8编码有可能是两个,三个,四个字节.Emoji表情是4个字节,而MySQL的utf8编码最多3个字节,所以数据插不进去。 两个解决方案: 1.将Mysql的编码从utf8转换成utf8mb4 2.前端JS校验过滤掉emoji表情判断文本中是否有表情符号表情isEmojiCharacter(...

weixin_39534395的博客 1020

在iOS中emoji表情的判断、过滤和禁用

emoji就是表情符号,来自日语词汇“絵文字”(假名为“えもじ”,读音即emoji)     emoji的创造者是栗田穣崇(Shigetaka Kurita),他将目光投向儿时的各种元素以获取灵感,如日本漫画和日本汉字等。“日本漫画中有许多不同的符号。漫画家会画出一些表情,表现一个人满头大汗或是迸发出一个想法时头上出现一个灯泡。在很多情况下,我借用了这种表达方式,然后进行了重新安排。”同时,

hsf_study的博客 5072

js过滤/判断表情符号

varregRule=/\uD83C[\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F]/g; if(this.value.match(regRule)){ //this.value=this.value.replace(/\uD83C[\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE...

aGreetSmile的博客 1013

运营商判断正则表达式&emoji表情过滤&时间格式化

概述 近期在项目中遇到三个问题,一是需要前端根据手机号判断运营商的场景,不考虑虚拟运行商及携号转网的情况,只能通过号段的正则表达式来判断;二是需要前端过滤用户输入内容,不允许emoji表情入库,否则数据库会出现问题;三是时间格式化处理。以下分别是三个问题的处理方法。 运营商判断 const getServiceProvider=(tel)=>{ const chinaTeleco...

codezha的博客 1007

iOS中textField、textView判断过滤禁用emoji表情

iOS中textField、textView判断过滤禁用emoji表情

一点点积累 2369

更完美的《iOS中textField、textView判断过滤禁用emoji表情》,解决过滤表情后九宫格输入不了问题

上一篇中对textField和textView等输入过滤的判断,后来我发现并不好,使用于苹果没有推出新表情。但是后来又发现,当输入法切换成九宫格时输入不了。然后查了下资料,发现了一个更好的方法!

一点点积累 1387

iOS emoji表情显示, 过滤emoji表情

// iOS中的表情符号是emoji表情,需要将表情符号进行转换,后台才能识别。识别方法: NSString * str1 = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; (iOS 9后被另一个方...

chuotongtuan8831的博客 326

android显示ios emoji表情符号,iOS emoji表情显示, 过滤emoji表情

// iOS中的表情符号是emoji表情,需要将表情符号进行转换,后台才能识别。识别方法:NSString * str1 = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; (iOS 9后被另一个方法替换NSString * str1 = [str stringByAddingPercentEncodin...

weixin_35193765的博客 703
上一篇: ajax 基本操作(批量操作)
下一篇: IOS下的safari下localStorage不起作用的问题
呀呀呀耶
博客等级 码龄10年 11粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值