微信小程序 解决iOS复制通讯录号码带unicode问题

昨晚老板们丢了个问题出来,在复制粘贴号码搜索的时候,搜索不到用户订单,这就很尴尬了,查了后台。发现老板输入发送给后台的是'<202d>159xxxx8x9<202c>',我寻思着是不是复制错了。

问了具体情况,就是手机直接粘贴的,这就奇怪了,用我安卓机测试没这个问题,定位到问题发生在ios系统上。果然百度了一下是因为自带了Unicode编码,而且这个编码是不可见的。

所以接下来就一顿搜索这个问题的解决方案,找了很多,都是告诉我这个问题的出现,比如:https://juejin.cn/post/6844903683935698952

嗯,我了解了,然后去找解决方案,各种都是后台的,但我是一个前端渣渣呀,不能处理后台的事情,所以只能找前端解决方案。

经过我的一系列正则表达式测试之后,发现我怎么用replace都不行。没办法只能承认自己正则太弱鸡。后面功夫不负有心人啊!!!终于遇到了一个哥们写的心得啊。真的是两眼泪汪汪,要感谢这个小伙子,解决了万年老啊姨的苦难。

解决方案(正题,上面牢骚)

this.data.phone_num.replace(/\D/g, '');//解决ios自带的unicode编码的问题

一把辛酸泪,再次感谢帅小伙。

要是解决了你的问题,请给他个star

https://github.com/pod4g/tool/wiki/%E8%AE%B0%E4%B8%80%E6%AC%A1ios%E9%80%9A%E8%AE%AF%E5%BD%95%E6%8B%B7%E8%B4%9D%E5%87%BA%E7%9A%84%E5%8F%B7%E7%A0%81%E5%90%AB%E6%9C%89%E4%B8%8D%E5%8F%AF%E8%A7%81%E5%AD%97%E7%AC%A6%E7%9A%84bug

呼~,愉快吃午餐去!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值