Javascript Prompt Validation?

☆樱花仙子☆ 提交于 2019-12-02 19:34:39

问题


I want to prompt the user to enter a sport (baseball, football, soccer, or track). Let's say I enter "Golf". How do I get it to keep asking me to enter a sport until I enter one of the valid sports? The sport determines what field they play on. Below is my code.

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");
}

回答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");
    }
}

or

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");
    }
}


来源:https://stackoverflow.com/questions/23097859/javascript-prompt-validation

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!