Google 应用程序脚本 phone 数字重新格式化

Google app Script phone number reformat

我在 google 电子表格中有一个由 IFTTT Applet 生成的通话记录数据库。 然后通过 GAS 使用 url.fetch 命令将此 DB 发送到私人网站 API(如果您有兴趣,可以找到带有代码的 )。为了相关性。使用 onChange 触发器实现自动化,我重新格式化数据,然后每次 IFTTT 插入新行时将 lastROW 提取到 API。

它可以正常工作,但我对 phone 数字格式有疑问。我从 IFTTT 得到的格式不一致,例如 ~80% 的 phone 数字有这样的格式“40727000000”(11 位数字)或“727000000”(9 位数字),其余其中有国际 phone 没有。或机器人 phone 没有。格式如下“393280000000”(12 位数字)或少于 9 位数字。对于机器人。 现在我发送给 API 的格式需要是 10 位数字。例如 0727000000(但仅对于那些 ~80% 的号码,国际号码和机器人号码需要保持不变)。

所以本质上我需要在 GAS 中编写一个包含 3 个场景的函数:

  1. 如果它有 12 位或少于 9 位,什么也不做。

  2. 如果它有 11 个数字删除第一个数字,在我的例子中总是“4”。

  3. 如果是9位数字,在“7”前加一个“0”,就是“7”。

谢谢!

解决方法如下:

function formatDigits(number) {

  var num = number.toString();
  var length = num.length;

  if(num.length == 11){

    num = num.substring(1,11);

    return num;

  }
  if(num.length == 9){

    num = "0" + num;

    return num;

  }

  return 0; // or return num; Depending how you want to deal with other case

}