最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript prompt number and continue prompting if answer is wrong - Stack Overflow

programmeradmin2浏览0评论

I need prompt the visitor for an integer between 1 and 100 and to continue prompting until a valid number is entered.

Here is what I have:

<script>

var number = parseInt(prompt("Please enter a number from 1 to 100", ""));

if (number < 100) {
    document.write("Your number (" + number + ") is matches requirements", "");
} else if (isNaN(number)) {
    parseInt(prompt("It is not a number. Please enter a number from 1 to 100", ""));
} else {
    parseInt(prompt("Your number (" + number + ") is above 100. Please enter a number from 1 to 100", ""));
}

</script>

It recognizes the number but fails to re-ask when the number is wrong. Can you please help me and explain what you added?

Thank you very much.

I need prompt the visitor for an integer between 1 and 100 and to continue prompting until a valid number is entered.

Here is what I have:

<script>

var number = parseInt(prompt("Please enter a number from 1 to 100", ""));

if (number < 100) {
    document.write("Your number (" + number + ") is matches requirements", "");
} else if (isNaN(number)) {
    parseInt(prompt("It is not a number. Please enter a number from 1 to 100", ""));
} else {
    parseInt(prompt("Your number (" + number + ") is above 100. Please enter a number from 1 to 100", ""));
}

</script>

It recognizes the number but fails to re-ask when the number is wrong. Can you please help me and explain what you added?

Thank you very much.

Share Improve this question asked Feb 23, 2013 at 23:56 ArtArt 2772 gold badges8 silver badges20 bronze badges
Add a comment  | 

6 Answers 6

Reset to default 12

Something like this should do the trick:

do{
    var selection = parseInt(window.prompt("Please enter a number from 1 to 100", ""), 10);
}while(isNaN(selection) || selection > 100 || selection < 1);

Here's a recursive approach:

var number = (function ask() {
  var n = prompt('Number from 1 to 100:');
  return isNaN(n) || +n > 100 || +n < 1 ? ask() : n;
}());

Another approach:

<html>
    <head> </head>
    <body onload="promptForNumber();">


<script>
    function promptForNumber( text)
{
    if(text == '' ){
     text = "Please enter a number from 1 to 100";   
    }
    var number = parseInt(window.prompt(text, ""));
    checkNumber(number);

}
function checkNumber(number){

    if (number <= 100 && number >= 1) {
    document.write("Your number (" + number + ")  matches requirements", "");
} else if (isNaN(number)) {
    promptForNumber("It is not a number. Please enter a number from 1 to 100", "");
} else {
    promptForNumber("Your number (" + number + ") is not between 1 and 100", "");
}

}


</script>

    </body>
</html>
 function myFunction(id) {

        let person = prompt("Please Enter Your Quotation");
        if (person != null) {
            if(person>=0||person<0){
                alert("max");
            }else{
            alert('Only Number is Allowed');
            myFunction(id)
            }
        }
    }
    age = prompt("Enter your age:");
    while(isNaN(age)){
        age = prompt("Enter your age in numerals only:");
    };
    function check(age){
        if(age>=21 && age<=80){
            document.write("You can vote.");
        }else if(age>=81){
            document.write("We'll come home to take your vote.");
        }else{
            document.write("You can not vote.");
        };
        return(age);
    }; 
    console.log(check(age));
 const handleCommissionRate = (id: number) => {
        const rate = prompt('Komisyon oranını girin') as unknown as number
        if (isNaN(rate)) {
            return handleCommissionRate(id)
        }
        console.log(id)
    }

this is my example function

发布评论

评论列表(0)

  1. 暂无评论