Javascript多字段验证

Javascript多字段验证,javascript,html,function,validation,Javascript,Html,Function,Validation,首先,我必须验证id和密码文本框是否为空(该文本框正在工作)。然后,我必须在同一个表单上验证textbox上的id必须是一个数字,并且必须是一个介于3000和3999之间的数字(该数字不起作用)。我的代码有什么问题吗 function validatefunctions() { if (document.getElementById('idtb').value === '') { alert('You need to enter a Customer ID'); return

首先,我必须验证id和密码文本框是否为空(该文本框正在工作)。然后,我必须在同一个表单上验证textbox上的id必须是一个数字,并且必须是一个介于3000和3999之间的数字(该数字不起作用)。我的代码有什么问题吗

function validatefunctions() {
  if (document.getElementById('idtb').value === '') {
    alert('You need to enter a Customer ID');
    return false;
  }

  if (document.getElementById('pwtb').value === '') {
    alert('Please enter your password');
    return false;
  }
  var custID;
  custID = document.getElementsByName("idtb").valueOf();

  if (custID !== isNan) {
    alert("Customer ID needs to be numeric");
    return false;
  }
  if (custID < 3000) {
    alert("ID must be above 3000");
    return false;
  }
  if (custID > 3999) {
    alert("ID must be below 3999");
    return false;
  }
}
函数validatefunctions(){
if(document.getElementById('idtb')。值=“”){
警报(“您需要输入客户ID”);
返回false;
}
if(document.getElementById('pwtb')。值=“”){
警报(“请输入您的密码”);
返回false;
}
var custID;
custID=document.getElementsByName(“idtb”).valueOf();
if(custID!==isNan){
警报(“客户ID需要是数字”);
返回false;
}
如果(客户ID<3000){
警报(“ID必须高于3000”);
返回false;
}
如果(客户ID>3999){
警报(“ID必须低于3999”);
返回false;
}
}
文本框需要是一个数字,也需要是一个介于3000和3999之间的数字(该数字不起作用)

为什么不使用输入类型编号指定最小值和最大值属性:


函数validatefunctions(){
if(document.getElementById('idtb')。值=“”){
警报(“您需要输入客户ID”);
返回false;
}
if(document.getElementById('pwtb')。值=“”){
警报(“请输入您的密码”);
返回false;
}
var custID=document.getElementById('idtb')。值;
if(Number.isNaN(parseInt(custID))){
警报(“客户ID需要是数字”);
返回false;
}
if(parseInt(custID)<3000){
警报(“ID必须高于3000”);
返回false;
}
if(parseInt(custID)>3999){
警报(“ID必须低于3999”);
返回false;
}
}

客户ID:

密码:


.valueOf()不正确。您可以使用
.value
来获取值(就像您在yoru
if
语句中所做的那样)。要检查字符串是否不是数字,可以使用
isNaN(custID)
,当
custID
不是数字时,它将为true;当它是数字时,
false
您的代码接近正确,但应使用内置javascript函数的number函数,该函数将返回值的数据类型。因此,您只需要在代码中使用Number.isNaN函数,而不是document.getElementsByName(“idtb”).valueOf()/