Javascript验证数字xhtml

Javascript Validating Numbers xhtml

本文关键字:xhtml 数字 验证 Javascript      更新时间:2023-09-26

我正在做一些javascript作业,它的状态如下:

-验证客户ID是否为数字,而不是字符串。此外,所有客户ID都是3000到3999之间的数字。所有4位数字。验证所有客户ID都是3000到3999之间的数字。

-验证AcctNo是否为数字,而不是字符串。这个数字在90000到99999之间。

当我编写代码时,带有数字的部分总是给我错误,当我在网上搜索帮助时,它想出了//

任何帮助都很好,谢谢(:

Xhtml

    <head>
           <script type = 'text/javascript'>
             //  <![CDATA[
   $('#submit').click(function(){
validateRange();
validateRa();    
})
 function validateRange() {
        var txtVal = document.getElementById("CustomerID").value;
 var txtVal1=parseInt(txtVal);
        if (txtVal1 >= 3000 && txtVal1 <= 3999) {
            return true;
        }
        else
            alert('Please enter a number between 3000-3999');
            return false;
    }
    // ]]
     function validateRa() {
        var txtVal1 = document.getElementById("AcctNo").value;
         var txtVal2=parseInt(txtVal1);
        if (txtVal2 >= 90000 && txtVal2 <= 99999) {
            return true;
        }
        else
            alert('Please enter a number between 90000-99999');
            return false;
    }
       // ]]
</script>
        <title>Account Lookup</title>

    </head>
    <body>
       <h1> Please Provide Your Information</h1>
    <p><input type="text" id="AcctNo" value="Account Number"/></p>
    <p><input type="text" id="CustomerID" value="CustomerID" onchange="validateRange()"/></p>
    <p><input type="text" name="Type" value="Account Type" onchange="validateRange()"/></p>
    <p><input type="text" name="balance" value="Balance"/></p>

    <p class="submit" />
    <input type="submit" name="commit" value="Submit" id="submit" /><button type="reset" value="Clear">Clear</button></p>
    </body>
</html>

试试这个:

var txtVal = parseInt(document.getElementById("CustomerID").value) || 0;

var txtVal1 = parseInt(document.getElementById("AcctNo").value) || 0;

还有:

else {//<-- braces,since it has multiple lines
   alert('Please enter a number between 3000-3999');
   return false;
}

您的其他条件有问题

你也需要在else块中包含大括号所以你必须有

else
     {
        alert('Please enter a number between 3000-3999');
        return false;
     }

      else
         {
            alert('Please enter a number between 90000-99999');
            return false;
         }

还有

        var newtxtval = parseInt(txtval);

在两个函数中添加上面的行,它将工作

http://jsfiddle.net/2w663kb0/

在html 中使用id代替名称

html

<h1> Please Provide Your Information</h1>
    <p><input type="text" id="AcctNo" value="Account Number"/></p>
    <p><input type="text" id="CustomerID" value="CustomerID" onchange="validateRange()"/></p>
    <p><input type="text" name="Type" value="Account Type" onchange="validateRange()"/></p>
    <p><input type="text" name="balance" value="Balance"/></p>

    <p class="submit" />
    <input type="submit" name="commit" value="Submit" id="submit" /><button type="reset" value="Clear">Clear</button></p>

js

$('#submit').click(function(){
validateRange();
validateRa();    
})
 function validateRange() {
        var txtVal = document.getElementById("CustomerID").value;
 var txtVal1=parseInt(txtVal);
        if (txtVal1 >= 3000 && txtVal1 <= 3999) {
            return true;
        }
        else
            alert('Please enter a number between 3000-3999');
            return false;
    }
    // ]]
     function validateRa() {
        var txtVal1 = document.getElementById("AcctNo").value;
         var txtVal2=parseInt(txtVal1);
        if (txtVal2 >= 90000 && txtVal2 <= 99999) {
            return true;
        }
        else
            alert('Please enter a number between 90000-99999');
            return false;
    }
  1. 您将文本框的name设为CustomerID,而将AcctNo设为文本框的id。因此,当您的验证函数使用document.getElementById方法访问它们时,它总是给出null引用,因此每当您更改CustomerID文本框的内容时,它都会给出java脚本错误。

  2. 在用于验证帐号的代码中根本不调用函数validateRa()