我正在努力将下面的 Excel VBA 代码转换为 JavaScript,以便在 Google 表格的 Google Apps 脚本中使用。不幸的是,我对 JavaScript 还很陌生,在 JavaScript 中想出正确的语法就像向盲目的飞镖靶 throw 飞镖一样。 我不想花几个小时试图让猜测起作用,而是想检查是否有人可以帮助我转换它。我主要致力于想出与... If(Asc()...End If ...函数部分相同的函数。
Public Function cleanPhoneNumber(thisNumber As String) As String
' this function aspires to clean any phone number format
' to standard format (+9999) 999-999-9999 or 999-999-9999
' works with almost all phone number formats stored in text
Dim retNumber As String
For i = 1 To Len(thisNumber)
If Asc(Mid(thisNumber, i, 1)) >= Asc("0") And Asc(Mid(thisNumber, i, 1)) <= Asc("9") Then
retNumber = retNumber + Mid(thisNumber, i, 1)
End If
Next
If Len(retNumber) > 10 Then
' format for country code as well
cleanPhoneNumber = Format(retNumber, "(+#) 000-000-0000")
Else
cleanPhoneNumber = Format(retNumber, "000-000-0000")
End If
End Function
最佳答案
看起来您的函数对于从字符串中提取数字并格式化结果至关重要。这可以在 JavaScript 中完成,您可以将其粘贴到 Apps 脚本编辑器中。
function cleanNumber(number) {
// Remove everything but digits
number = number.replace(/\D*/g, "");
// Format the number and return
return number.substring(0, 3) + "-" + number.substr(4,3) + "-" + number.substr(7);
}
关于javascript - JavaScript 中的 VBA 等效项,用于 Google 表格的 Google Apps 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27234824/