将 Phone 字符串转换为 Javascript 中的整数

Converting Phone String to Integer In Javascript

我正在尝试使用 parseInt 将 phone 数字字符串转换为整数,但只收到 return 中的前 3 位数字,然后我想将每个数字的所有整数相加phone 个。这是我的代码:

var largest_phone_number = [];
largest_phone_number.push("415-215-2561", "312-367-6721", "345-876-5467");


for(var i=0; i<largest_phone_number.length; i++) {
var number = parseInt(largest_phone_number[i]);
  console.log(number);
} 

您可以先删除破折号

var largest_phone_number = [];
largest_phone_number.push("415-215-2561", "312-367-6721", "345-876-5467");


for(var i=0; i<largest_phone_number.length; i++) {
  var number = parseInt(largest_phone_number[i].replace(/-/g,''));
  console.log(number);
}

那是因为 parseInt 将转换为第一个不可转换的字符,因此为 3 位数字。您可以首先使用正则表达式去除非数字,然后执行 parseInt。不要忘记 parseInt 的基数。你不想以八进制结束。

var phoneNumbers = largest_phone_number.map(function(number){
  return parseInt(number.replace(/[^0-9]/g, ''), 10);
});
// [4152152561, 3123676721, 3458765467]

phone 个号码的一些提示:

  • 区号以0开头的号码有phone个。 parseInt 将忽略前导零。本质上,您只是丢失了信息。

  • 有 phone 个数字具有这些符号 +()- 以及空格。它们在世界不同地区会有所不同。

  • 最好将 phone 数字保留为字符串。为什么?请参阅项目符号 1 和项目符号 2。