【问题标题】:Just keep the numbers in a JavaScript variable只需将数字保存在 JavaScript 变量中
【发布时间】:2016-04-05 20:27:08
【问题描述】:

我有一个包含数字、字母和特殊字符的变量

var variable = '32432 (now) today';

我想保持我的变量的数字看起来像这样

variable = 32432;

【问题讨论】:

  • 总是以数字开头吗?如果是这样parseInt(variable)
  • 如果字符串不一致,使用正则表达式。 var numberPattern = /\d+/g;
  • 字符串从何而来?我的意思是,可以实现您的要求,但是如果您对数据有任何控制权,最好重构代码。

标签: javascript jquery regex replace


【解决方案1】:

如果你知道数字总是字符串的第一部分,你可以使用 parseInt()。

 console.log(parseInt(variable));

如果您希望它是一个浮点数,则为 parseFloat:

 console.log(parseFloat(variable));

如果不在字符串的开头,只需使用正则表达式删除除数字和小数点之外的所有内容。这个表达式 /[^\d\.]/gim 匹配任何不是使用 \d 的数字或使用 \ 的小数点的字符。

 console.log(variable.replace(/[^\d\.]/gim, ""));

【讨论】:

    【解决方案2】:

    您可以使用正则表达式从字符串中提取数字。类似的东西

    var str = '32432 (now) today'; 
    var regexPattern = /\d+/;
    var value = str.match(regexPattern);
    

    【讨论】:

      【解决方案3】:

      Regex(正则表达式)在这种情况下很有用:

      var variable = '32432 (now) today';
      var result = /\d+/.exec(variable); // <- \d+ extracts digits
      
      document.write(result);

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-04-09
        • 1970-01-01
        • 1970-01-01
        • 2013-10-09
        • 2012-12-31
        • 1970-01-01
        • 1970-01-01
        • 2019-01-22
        相关资源
        最近更新 更多