检查文本框中输入的数字的长度

时间:2015-09-05 11:46:41

标签: javascript html forms validation

我想在文本框中写入并检查是否为整数且少于16个数字。我有以下JavaScript代码。

<script type="text/javascript">

function doCheck(field) {
    if (isNaN(document.getElementById(field).value)) {
        alert('this is not a number');
        document.getElementById(field).focus();
        document.getElementById(field).select();
        return false;
    }
    else {
        return true;
    }
}
</script>

<form method="post" action="" onsubmit="return doCheck('number');">
national id=<input type="text" name="nat" id="number">
<input type="submit" name="submit">
</form>

4 个答案:

答案 0 :(得分:0)

您可以使用此

在文本框中找到字符串的长度
function doCheck(field) {
     var len = document.getElementById("number").val().length;
     if(parse.Int(document.getElementById(field).value) && len < 16) {
          return true;     
     }
     else {
          alert('your alert');
          document.getElementById(field).focus();
          document.getElementById(field).select();
          return false;
     }
}

答案 1 :(得分:0)

document.getElementById(field).value.length

答案 2 :(得分:0)

isNAN()检查数字是否是任何类型的非法数字,而不仅仅是整数。所以你必须在那里使用其他东西,也许是正则表达式。 要获得字段的长度,您只需使用:

document.getElementById(field).value.length

答案 3 :(得分:0)

请确保将其解析为整数。

function doCheck(field) {
  var input_value = document.getElementById(field).value;
  if(isNaN(input_value) || parseInt(input_value,10) != input_value || input_value.length < 16) {
      alert('this is not a number');
      document.getElementById(field).focus();
      document.getElementById(field).select();
      return false;
  }
  else{
    return true;
  }
}