将解密函数从VB转换为JS



我有一个用vb编码的函数。我正在尝试将它转换为Javascript

VB

Public Function Decrypt(ByVal s As String) As String
Dim Total As String
Dim Tmp As String
For i = 1 To Len(s)
Tmp = Mid(s, i, 1)
Tmp = Asc(Tmp) - 15
Tmp = Chr(Tmp)
Total = Total & Tmp
Next i
Decrypt = Total
End Function

到目前为止,这就是我的

function decrypt( s ) {
let tmp = ''
let total = ''
for ( let i = 1; i < s.length; i ++) {
tmp = s.substring(i, 1)
tmp = tmp.charCodeAt(0) - 15
tmp = String.fromCharCode(tmp)
total += total + tmp
}
return total
}

我在total += total + tmp线上得到错误RangeError: Invalid string length

,我该如何修复此功能

这是精确翻译。在excel VBA中测试。

function decrypt(s) {
var total = ""
for (var i = 1; i <= s.length; i++) {
var tmp = s.substring(i - 1, i);
total += String.fromCharCode(tmp.charCodeAt(0) - 15);
}
return total
}
console.log(decrypt("hello"))

最新更新