Javascript 谷歌应用程序脚本电话号码重新格式化
我在google电子表格中有一个调用日志数据库,它是由IFTTT小程序生成的。 然后,通过GAS with url.fetch命令将该数据库发送到私有web API(如果您感兴趣,可以找到一个带有代码的数据库)。为了相关性。使用onChange触发器实现自动化,我将重新格式化数据,然后在每次IFTTT插入新行时将最后一行提取到API 它正在工作,但我的电话号码格式有问题。我从IFTTT获得的格式不一致,例如,约80%的电话号码的格式类似于“40727000000”(11位数字)或“727000000”(9位数字),其余的是国际电话号码或机器人电话号码。格式类似于“39328000000”(12位数字)或小于机器人9位数字。 现在,我发送给API的格式需要是一个10位数的数字,比如0727000000(但只有那些约80%的数字,国际数字和机器人数字需要保持不变) 所以本质上,我需要用GAS编写一个函数,包含3种场景:Javascript 谷歌应用程序脚本电话号码重新格式化,javascript,google-apps-script,google-sheets,number-formatting,Javascript,Google Apps Script,Google Sheets,Number Formatting,我在google电子表格中有一个调用日志数据库,它是由IFTTT小程序生成的。 然后,通过GAS with url.fetch命令将该数据库发送到私有web API(如果您感兴趣,可以找到一个带有代码的数据库)。为了相关性。使用onChange触发器实现自动化,我将重新格式化数据,然后在每次IFTTT插入新行时将最后一行提取到API 它正在工作,但我的电话号码格式有问题。我从IFTTT获得的格式不一致,例如,约80%的电话号码的格式类似于“40727000000”(11位数字)或“7270000
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
}
谢谢你,我会记下你的答案,但你犯了一些错误。下面是正在工作的'code'函数reformatDigits(number){var num=number.toString();var length=num.length;if(length==11){num=num.substring(1,11);return num;}if(length==9){num=“0”+num;return num;}if(length>12&&length<9);num=num;return num;}“code”对于小于9位或大于12位的情况,指定不执行任何操作,因此我只返回0。否则,在代码中,您不会指定如何处理10位数字:您可以用函数reformatDigits(number){var num=number.toString();var length=num.length;if(length==11){num=num.substring(1,11);return num;}if(length==9){num=“0”+num;return num;}return num;}我很抱歉,因为我问了这么愚蠢的问题。但是我的编码技能,不管是哪种,都是无效的,我在这个论坛上的不同用户的大量帮助下,在网上搜索了大量内容,才完成了这个脚本。所以再次为侮辱任何人而道歉!!!