检查输入字符串是否包含(带符号)数字

时间:2019-02-06 13:17:22

标签: javascript

我想检查我的输入字符串是否包含数字并显示这些数字的数组。该数字由一个可选的符号(-+),一个或多个连续数字和一个可选的小数部分组成。小数部分由点.和零个或多个数字组成。

例如f2('a1 12 13.b -14.5+2'):返回[1、12、13,-14.5、2]

我从这里的回复中尝试使用此代码

function f2(input) {
  let str = String(input);

  for (let i = 0; i < str.length; i++) {
    console.log(str.charAt(i));

    if (!isNaN(str.charAt(i))) {
      //if the string is a number, do the following                
      return str.charAt(i);
    }
  }
}

let result = f2("a1 12 13.b -14.5+2");

console.log(result);

1 个答案:

答案 0 :(得分:1)

您可以轻松地使用正则表达式来匹配字符串中的数字:

function f2(input) {
      let str = String(input);
      let result = str.match(/\-?\d+\.\d+|\-?\d+/g)
      return result
    }
    
    let result = f2("a1 12 13.b -14.5+2");
    
    console.log(result);