正则表达式过滤如'\xF0\x9F\x98'16进制字符

本文介绍了如何使用JavaScript和PHP来过滤字符串中的特殊Unicode字符,包括表情符号等非ASCII字符。通过具体的代码示例展示了两种语言中实现这一功能的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JS实现:

var str = "ss123ss\xF0\x9F\x98\x82\xF0\x9F";
str = str.replace(/[^\\x00-xFF]/g,"");
console.log(str);//ss123ss

 

PHP实现:

$str = "ss123ss\xF0\x9F\x98\x82\xF0\x9F";

$str = preg_replace("/[^\\x00-xFF]/m", "", $str);

echo $str."<br />";//ss123ss

 

1 if(!preg_match_all("/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/mu",$str,$matches)){ //UTF-8汉字字母数字下划线正则表达式,如果不匹配,证明字符串非全中文和字母,可能含有标点符号或者表情符号
2     $str = preg_replace("/[^\\x00-xFF]/m", "", $str);//执行过滤
3 }

 

转载于:https://www.cnblogs.com/nullman/p/7262791.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值