同时执行循环和window.alert消息

时间:2018-09-28 12:29:08

标签: javascript html do-while

晚上好。

在以下主题上,我希望您的帮助。 我有以下几行代码:

<script>
    function save3() {
        var pn = 4;
        var flag = true;
        do {
            var selection = window.prompt("Give the User Id:", "Type a number!");
            if (selection == (/^[0-9.,]+$/)) {
                flag = false;
                window.alert("ok");
            }
        } while (flag != false);
        $("#user_id").val(selection)
        //$("#user_id").val(prompt("Give the User Id:"))
        do {
            var selection2 = parseInt(window.prompt("Give the Book Id:", "Type a number!"), 10);
        } while (isNaN(selection2));
        $("#book_id").val(selection2)
        //$("#book_id").val(prompt("Give the Book Id:"))
        do {
            var selection3 = parseInt(window.prompt("Give the Game Id:", "Type a number!"), 10);
        } while (isNaN(selection3));
        $("#game_id").val(selection3)
        //$("#game_id").val(prompt("Give the Game Id:"))
        $("#site_id").val(pn)
    }

    function load2() {

    }
</script>

我的问题可能对您来说很简单,但我不知道解决方案。 我希望用户在window.prompt框中插入一个值。如果值是数字。我想向用户显示一条消息“正确”。如果值是字母或其他字母,我想显示一条消息“重试”,则循环应再次执行。

您能为我提供一些帮助吗?我认为我已经完成了我想要的一部分...

2 个答案:

答案 0 :(得分:1)

if (selection == (/^[0-9.,]+$/)){

这不是您使用正则表达式的方式。您需要使用match()test()

if (selection && selection.match(/^[0-9.,]+$/))
if (selection && /^[0-9.,]+$/.test(selection))

答案 1 :(得分:0)

谢谢您的帮助。

这是我的工作解决方案:

<script>
    function save3() {
      var pn = 4; 
      var flag1 = true;
      do{
        var selection = window.prompt("Give the User Id:", "Type a number!");
            if ( /^[0-9]+$/.test(selection)) {
            flag1=false;
            window.alert("ok");
            }
        }while(flag1!=false);
    $("#user_id").val(selection)
      //$("#user_id").val(prompt("Give the User Id:"))

      var flag2 = true;
      do{
        var selection2 = parseInt(window.prompt("Give the Book Id:", "Type a number!"));
        if ( /^[0-9]+$/.test(selection2)) {
            flag2=false;
            window.alert("ok");
            }
        }while(flag2!=false);
    $("#book_id").val(selection2)
      //$("#book_id").val(prompt("Give the Book Id:"))

      var flag3= true;
      do{
        var selection3 = parseInt(window.prompt("Give the Game Id:", "Type a number!"));
        if ( /^[0-9]+$/.test(selection3)) {
            flag3=false;
            window.alert("ok");
            }
        }while(flag3!=false);
    $("#game_id").val(selection3)
      //$("#game_id").val(prompt("Give the Game Id:"))

      $("#site_id").val(pn)
    }
    function load2() {

    }

  </script>