Google apps script 使用Google Sheet公式验证电话号码的特定格式
我正在使用google sheets,希望将美国电话号码转换为以下格式:Google apps script 使用Google Sheet公式验证电话号码的特定格式,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我正在使用google sheets,希望将美国电话号码转换为以下格式: 1xxxyyyzzzz eg 402-333-4444应改为14023334444 我有一个应用程序脚本验证程序功能,可以执行以下操作: var numbers = 'INVALID' if ( parsed_body.hasOwnProperty('PHONE') ) { var phone = parsed_body['PHONE'].toString(); Logger.log(parsed_bod
1xxxyyyzzzz
eg 402-333-4444应改为14023334444
我有一个应用程序脚本验证程序功能,可以执行以下操作:
var numbers = 'INVALID'
if ( parsed_body.hasOwnProperty('PHONE') ) {
var phone = parsed_body['PHONE'].toString();
Logger.log(parsed_body);
numbers = phone.replace(/[^0-9]/g, "");
var firstChar = numbers.charAt(0);
if ( firstChar !== '1'){ numbers = '1'+ numbers}
Logger.log(numbers);
if ( numbers.length !== 11){ numbers = 'NOTELEVEN'};
}
parsed_body['PHONE']=numbers;
但是我想让床单做这个。这可能吗?如果在一个公式中执行,则会产生相当长的公式,因为您必须不断重复前面的步骤,这与脚本版本不同:
=if(len(if(left(regexreplace(""&D2,"[^0-9]",""))="1","","1")®exreplace(""&D2,"[^0-9]",""))=11,
if(left(regexreplace(""&D2,"[^0-9]",""))="1","","1")®exreplace(""&D2,"[^0-9]",""),"INVALID")
可以更改为数组公式:
=ArrayFormula(if(D2:D="","",if(len(if(left(regexreplace(""&D2:D,"[^0-9]",""))="1","","1")®exreplace(""&D2:D,"[^0-9]",""))=11,
if(left(regexreplace(""&D2:D,"[^0-9]",""))="1","","1")®exreplace(""&D2:D,"[^0-9]",""),"INVALID")))
是的,您可以使用regexreplace、left和len轻松地将其重新编写为一个表单公式。很抱歉延迟,汤姆-谢谢!跟进问题: