javascript - JavaScript 中的 VBA 等效项,用于 Google 表格的 Google Apps 脚本

标签 javascript excel vba google-apps-script google-sheets

我正在努力将下面的 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/

相关文章:

c++程序读取包含两个用逗号分隔的 double 值并将每个值存储在自己的数组中的单列excel数据

excel - 使用 COUNTIF/SUMPRODUCT 交叉比较多列中的重复项

python - 如何使用 xlsxwriter 将主题单元格样式添加到单元格?

vba - 在另一个工作表中显示隐藏列

javascript - javascript 中构造函数中的构造函数?

javascript - 在调整大小的 Canvas 元素上使用 putImageData 更新图像数据

javascript - javascript 开发人员在什么情况下使用 map() 方法?

javascript - 在 Rails 中,onbeforeunload 无法在 Chrome 浏览器中始终如一地工作

vba - 如何在VBA上将变量连接成数组字符串

excel - 将不同工作簿的范围分配给变量