如何在javascript中把字符串('No. 10')转换为数字10和('18.12')转换为18.12?

问题描述 投票:0回答:2

这就是问题所在。

写一个函数parseFirstInt 接收一个字符串 并返回字符串中的第一个整数。parseFirstInt('No. 10')应该返回10,parseFirstInt('Babylon')应该返回NaN。

我用parseFloat和parseInt解决不了问题。

我的代码在这里。

        parseFirstInt = function(str){
          var a = str.replace(/[^0-9]/g, "");
          var b = parseFloat(a);
          return b;
           } 

          //parseFirstInt('No. 10') return 10
          //BUT parseFirstInt('18.12') return 1812
javascript
2个回答
-1
投票

你可以使用regx (\d)+g来获得数字。请看下面的代码

var str = "No.10";alert(Number(str.match((\d)+g)[0]))。


-2
投票

希望对大家有所帮助。

function parseFirstInt(str){
const reg = RegExp(/\d+/g);
let arr = reg.exec(str);
 if(arr == null){
    return NaN;
 }

 return arr[0];
 }

  var res = parseFirstInt("India9Delhi78Asia67");
  console.log(res); // 9
© www.soinside.com 2019 - 2024. All rights reserved.