En fråga, exakt varför vill du få ut versionen? Om du vill testa om någon specifik funktion stöds, så finns det i regel bättre sätt.
Sedan en kommentar: Att göra som du vill göra kan bli helt fel. Versionsnumret är där 1.5.0.6, och då"vill du få ut siffran 1506, right? Föreställ dig då att det kan komma en version som heter 2.0.3, som alltså skulle bli 203, ett mycket lägre tal, fast det är em högre version.
Dessutom ser jag ingeting som faktiskt funkar i din kod? ): (Sorry att behöva säga det)
Jag föreslår följande kod, som också är ful, men åtminstone funkar någorlunda.
var str = "347658324659034659 Firefox/1.5.0.6.4";
var ver = str.replace(/.*firefox\/(\d(\.\d+)+)/ig, "$1");
ver = ver.replace(/^(\d\.)(\d*)\.?(\d*)\.?(\d*)\.?(\d*)\.?(\d*).*/ig, "$1$2$3$4$5$6");
ver = parseFloat(ver);
document.write(ver);
Denna kod ger tillbaka versionsnumret som ett decimaltal, i detta fall 1.5064.
258 ms totalt · 4 externa anrop · v20260731065814-full.14655e19