特殊不可见字符导致excel数据校验出错

这篇博客讲述了作者在处理Excel数据导入时遇到的电话号码校验错误问题。最初认为是空格导致,但实则是Excel中隐藏的不可见字符`‭`引起正则匹配失败。解决方法是检测并删除此类特殊字符,作者也在前端插件中增加了相应处理功能。

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

前情提要

昨天晚上,突然有运营过来说,导入excel的时候,校验数据时有一个电话号码一直报错:电话号码不正确,当时百思不得其解,但由于时间太晚,所以放到第二天再来处理。

发现问题

一大早跑到公司,第一件事就是修复这个bug,最开始以为是空格的原因,因为电话号码是没有做去空格处理的,加上!立马加上!但是测试下来依旧是报错,没办法,只能找到后端一起解决问题,后端马上发现了问题,电话号码没有通过正则校验:^(1)\d{10}$。
于是先手动输入这个号码进行校验,发现是可以通过的,那么马上就想到了可能是数据问题,然后去传入的参数处复制该号码,发现也能通过校验,于是就认定了,锅肯定是后端的,甩就完事了。
后端最开始以为是传入过程中不小心加入了空格,导致正则校验失败,于是加上去除空格,但是发现还是不行,而且发现只有这个excel的某个单元格输入任何号码都报错,于是我又去参数处取值,这时将引号也取进去,然后删除引号,进行校验,无法通过!
这时就意识到是这个数据出现了问题,于是对11111111111进行unicode编码,结果为

‭1
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值