【问题标题】:Javascript Prompt Validation?Javascript提示验证?
【发布时间】:2014-05-30 15:24:49
【问题描述】:

我想提示用户输入一项运动(棒球、足球、足球或田径)。假设我输入“高尔夫”。在我参加一项有效的运动之前,我如何让它一直要求我参加一项运动?这项运动决定了他们在哪个领域比赛。下面是我的代码。

var sport = prompt("What sport do you play? (Baseball, Football, Soccer, or Track)").toLowerCase (); 

switch (sport) {
    case "baseball": 
        field = "Field 1";
        break;
    case "football": 
        field = "Field 2";
        break;
    case "soccer":
        field = "Field 3";
        break;
    case "track":
        field = "Field 4";
        break;
    default: alert("Please enter a valid sport");
}

【问题讨论】:

  • 德里克,你太棒了,谢谢!
  • 如果我想为不同年龄段的人做同样的事情怎么办。我想提示用户输入他们的年龄。假设他们的年龄在 5 - 9 岁或 10 - 15 岁之间。我如何让它一直要求我输入一个年龄,直到我输入一个有效年龄?年龄决定了他们玩的时间。下面是我的代码。

标签: javascript validation switch-statement conditional-statements prompt


【解决方案1】:
loop:
while(true){
    var sport = prompt("What sport do you play? (Baseball, Football, Soccer, or Track)").toLowerCase(); 
    switch (sport) {
        case "baseball": 
            field = "Field 1";
            break loop;
        case "football": 
            field = "Field 2";
            break loop;
        case "soccer":
            field = "Field 3";
            break loop;
        case "track":
            field = "Field 4";
            break loop;
        default: alert("Please enter a valid sport");
    }
}

var field;
while(true){
    var sport = prompt("What sport do you play? (Baseball, Football, Soccer, or Track)").toLowerCase();
    if(!sport || /^(baseball|football|soccer|track)$/.test(sport)){
        field = "Field " + ("baseball|football|soccer|track".split("|").indexOf(sport)+1);
        break;
    }else{
        alert("Please enter a valid sport");
    }
}

【讨论】:

  • 老兄,你太棒了,谢谢!我有另一个问题。可以说我正在尝试为年龄做同样的事情。
  • 下面是我的代码。 var age = prompt("你多大了?"); var practiceTime = 年龄; if (age > 15) { practiceTime = "6:00 pm"; } else if (age > 12) { practiceTime = "5:00 pm"; } else if (age > 9) { practiceTime = "4:00 pm"; } else if (age > 4) { practiceTime = "3:00 pm"; } else if (isNaN(age)) { alert(age + " " + "不是有效年龄。请输入有效年龄。"); }
  • @user3538369 - 它将以与我的代码示例相同的方式完成。使用while 循环,并在用户输入有效输入时使用break
  • 我不知道类似这个示例循环的语法:while(true){ var age = prompt("Pleae enter your age"); switch (age) { case age 10: practiceTime = "6:00 pm";打破循环;
猜你喜欢
  • 1970-01-01
  • 2021-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多