Javascript验证数字xhtml

时间:2014-09-26 04:37:10

标签: javascript

我正在做一些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>

4 个答案:

答案 0 :(得分:0)

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>

$('#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 :(得分:0)

试试这个:

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

答案 2 :(得分:0)

你的其他情况有问题

你还需要在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);

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

答案 3 :(得分:0)

  1. 您的name文本框CustomerIDAcctNo不是文本框的id。因此,当您使用document.getElementById方法访问它们的验证函数将始终提供空引用时,因此每当您更改CustomerID文本框的内容时,它都会给出java脚本错误。

  2. 您的代码中根本没有调用函数validateRa(),用于验证帐号。