0
Web开发者n00b在这里。我想测试我的JavaScript函数decryptStr
在身体像这样:Google Chrome浏览器JavaScript控制台告诉我“未捕获....”
<script type="text/javascript">
var str = "010510160";
document.write(decryptStr(str));
</script>
我跑它在谷歌Chrome和JavaScript控制台说,
未捕获输入不正确;无法解密。
我对这意味着什么感到困惑。任何想法是什么问题在这里? “不正确的单元;不能解密”是对应于错误类型的字符串下面的函数应该在事件以捕获输入的字符串是适当形式的不:
function decryptStr(thisString)
{
var decryptInputError = "Improper input; cannot decrypt.";
thisString.trim();
var retString = "";
for (var i = 0, j = thisString.length; i < j; ++i)
{
var thisChar = thisString.charAt(i);
if (thisChar > '9' || thisChar < '0')
{
throw decryptInputError;
return;
}
else if (thisChar > '1' && thisChar < '10')
{
var nextChar = thisString.charAt(i+1);
if (nextChar < '0' || nextChar > '1')
{
throw decryptInputError;
return;
}
var thisSubtring = "";
for (var j = 0, k = parseInt(thisChar, 10); j < k; j++)
thisSubstring += nextChar;
retString += thisSubstring;
}
else
{
retString += thisChar;
}
}
if (!(retString.length % 8))
{
throw decryptInputError;
return;
}
for (var i = 0, j = retString.length; i < j; i += 8)
{
retString = "";
retString += parseInt(thisString.substr(i,8), 2);
}
return retString;
}
请创建一个jsfiddle - > http://jsfiddle.net/ – lshettyl
没有错误在这里抛出:http://jsfiddle.net/vY3Kr/ –
复制你的代码我没有得到任何这样的错误。如果我修改了定义的'str'变量,那么我可以得到这个错误,但不是按原样运行它。 – Danny