修身养性,知行合一

  • 首页
  • 爱码
    • 系统
    • 数据库
    • JavaScript
    • CSharp
    • Python
  • 生活
    • 文化
    • 美食
  • 杂谈
  • 关于
修身养性,知行合一
码字,杂谈
  1. 首页
  2. 爱码
  3. 前端
  4. JavaScript
  5. 正文

iOS 正则匹配问题

2023年4月26日 1554点热度 0人点赞 0条评论

最近有个小需求,要求格式化数字之后,遇整取整,也就是 100.00 要展示 100。

这个功能也好做,没多想,直接在格式化后面添加:

replace(/(?<=\.\d*)0+$|\.0+$/, '')

完美展示,发版~

但是!!!!!

问题就出现了,这是一个 app 插件程序,在电脑和 android 程序中都没问题。然后身旁的小伙伴拿个 iPhone 过来跟我说程序打不开了。

我郁闷了,手机里面还没有报错,一脸懵。

先是回退了一个版本,好了~ 嗯,那就是这个版本修改的问题。

找了个 Mac,用 Safari 打开本地浏览,果然发现了问题:

SyntaxError:Invalid regular expression:invalid group specifier name

报了这个错误,还就是刚才写的正则问题。

查了一下,苹果不支持正则断言。。。

果不其然,在2023年,Safari 完美接替了 IE 的存在~

于是乎,改正则呗:

replace(/(\.[1-9]+)0+$|\.0*$/, '$1')

需要注意,这里就不能简单的清空了,就需要将分组的内容回填,主要为了匹配非零小数位。

然后,一切安好~~~

最后,吐槽一下 Safari,这个货啥时候淘汰呀~~~

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
标签: JavaScript
最后更新:2023年4月26日

jeremyjone

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

文章评论

取消回复

最新 热点 随机
最新 热点 随机
node-sass 的安装 解决端口被占的问题 vue3 组件 Props 的声明方式 给 div 添加选中状态 请求的取消 rgb 颜色小数兼容问题
迁移 wordpress 小记 手动实现JS节流 Windows Server 2019安装与配置(三) 关于 *.vue 文件中使用 TypeScript 声明类型报错的解决方案 IdentityServer4深入使用(一)-- 认证与授权(上) .NET Model名称转换

(っ•̀ω•́)っ✎⁾⁾ 开心每一天

COPYRIGHT © 2021 jeremyjone.com. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

京ICP备19012859号-1

京公网安备 11010802028585号