gpt4 book ai didi

javascript - 在 javascript 输出之间添加一个点

转载 作者:行者123 更新时间:2023-11-29 19:42:11 26 4
gpt4 key购买 nike

我正在使用以下 javascript 来检测 iOS 版本

var iOS = parseFloat(
('' + (/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent) || [0,''])[1])
.replace('undefined', '3_2').replace('_', '.').replace('_', '')
) || false;

问题是脚本显示的是 7.06 而不是 7.0.6

如何添加“.”在最后两个数字之间?

尝试修改代码并更改一些东西但无法成功

我是 javascript 的新手,谢谢 :)

最佳答案

问题是 parseFloat 掩盖了真正的问题,即您的替换略有偏差。你一开始是正确的,如

('' + (/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/gi.exec(navigator.userAgent) || [0,''])[1])

产生 “7_0_6”。但是,替换只命中第一个 _ 并将此字符串转换为 "7.0_6" (下一个 "_"-> ""删除最后一个下划线,这是你如何得到 7.06)。让替换做一个全局替换,它会得到两者。

(('' + (/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent) || [0,''])[1])
.replace('undefined', '3_2').replace(/_/gi, '.').replace(/_/gi, '')
) || false;

将产生 “7.0.6”

关于javascript - 在 javascript 输出之间添加一个点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22394196/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com