我在谷歌电子表格中有一个由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种情况的函数:
如果它有12位数或更少9位数,则不执行任何操作。
如果它有11位数字删除第一位数字,在我的情况下总是" 4"。
如果有9位数,则添加" 0"在" 7"之前,它总是" 7"。
谢谢!
答案 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
}