JAVASCRIPT帮助-代码不起作用

JAVASCRIPT帮助-代码不起作用,javascript,Javascript,我的代码坏了,有人能告诉我问题出在哪里吗? 我猜这是for循环,但我找不到问题所在 <html> <body> <script> username = prompt("Please enter a your username:"); for (var i = 0; i < username; i++) { if(isFinite(username.charAt(i))) { result = true; document.write("The us

我的代码坏了,有人能告诉我问题出在哪里吗? 我猜这是for循环,但我找不到问题所在

<html>
<body>
<script>

username = prompt("Please enter a your username:");

for (var i = 0; i < username; i++) {

if(isFinite(username.charAt(i))) {
result = true;
document.write("The username consists of one or more numbers." + BR);
}
else {
result = false;
document.write("The username must consist of one or more numbers." + BR);
}
}

</script>
</body>
</html>

用户名=提示(“请输入用户名:”);
对于(变量i=0;i
您的代码中有两个问题:

  • 在for循环中,使用变量的长度来建立停止条件

    对于(变量i=0;i
  • BR
    未定义


  • 工作代码:

    从输出中,我可以假设您只想检查
    用户名
    是否至少包含一个数字,实际上是一个数字

    // iterate over the input
    for (var i = 0; i < username.length; i++) {
      // check if it is a number (not a digit but that's the same here)
      if (isFinite(username.charAt(i))) {
        result = true;
        // The requirement "one or more numbers" is fulfilled,
        // we can break out of the loop
        break;
      } 
      else {
        result = false;
      }
      // print something according to "result"
      if(result === true){
        document.write('The username consists of one or more numbers.');
      } else {
        document.write('The username must consist of one or more numbers.');
      }
    }
    

    上述内容是众多内容中的一个变体,很容易在一些论坛上引起热烈讨论(不是这里!当然不是!;-),但我希望能有所帮助。

    使用正则表达式进行此类恶作剧:

    var username = prompt("username plz kk thx");
    var result = /[0-9]/.test(username);
    document.write("The username " + (result ? "consists" : "must consist") + " of one or more numbers");
    

    您好,请确保您没有任何语法错误。您必须更具描述性,您希望从我们这里获得什么?你需要发布一个问题当我输入用户名时,什么也不会弹出。
    I
    是你想要的现在它只打印“用户名由一个或多个数字组成。”很多次。如果用户名是8个字母,它将打印8次。您没有指定所需的行为,所以我只给出了代码“工作”(实际上是运行)的最小值。你必须多花一点时间编辑你的问题,这样我们就清楚你需要什么了。现在我想,我不应该给你答案……两张反对票,没有给出理由。我该怎么做,删除一个被接受的答案?
    var username = prompt("username plz kk thx");
    var result = /[0-9]/.test(username);
    document.write("The username " + (result ? "consists" : "must consist") + " of one or more numbers");