Google app脚本电话号码重新格式化

时间:2017-04-26 07:50:20

标签: javascript google-apps-script google-sheets number-formatting

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

它正在工作,但我的电话号码格式有问题。我从IFTTT获得的格式不一致,例如,约80%的电话号码具有这样的格式" 40727000000"(11位数字)或" 727000000" (9位数字),其余的是国际电话号码。还是机器人手机号码格式如下" 393280000000" (12位数字)或小于9位数字。对于机器人。 现在我发送给API的格式需要是10位数。比如0727000000(但只有那些~80%的数字,国际和机器人数字需要保持不变)。

所以本质上我需要在GAS中编写一个具有3种情况的函数:

  1. 如果它有12位数或更少9位数,则不执行任何操作。

  2. 如果它有11位数字删除第一位数字,在我的情况下总是" 4"。

  3. 如果有9位数,则添加" 0"在" 7"之前,它总是" 7"。

  4. 谢谢!

1 个答案:

答案 0 :(得分:0)

这是一个解决方案:

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

}