如何检查号码是否有九个字符?

时间:2016-01-24 11:47:26

标签: javascript validation

如何检查输入的文字是否为数字且javascript中有9个字符?

Intengo会使用下面的代码,但会正确地向我显示。

    function numberValidate(idtelf){
    var number = document.getElementById('idtelf');

    var charactersLength = number.value.length;
    if(isNaN(number) || charactersLength !=9  )
    {
        alert(  "Enter a valid number ");
    }
    else {
            alert(  "correct");
       }
};

5 个答案:

答案 0 :(得分:2)

这个也检查它是否是一个数字。其他答案将接受" 123456" (最后还有3个空格)。

function numberValidate(idtelf){
    var input = document.getElementById('idtelf');

    var number = parseFloat(input.value);
    var charactersLength = input.value.length;
    var numberLength = (""+number).length;
    if(isNaN(number) || charactersLength !=9 || numberLength !=9 )
    {
        alert(  "Enter a valid number ");
    }
    else {
            alert(  "correct");
       }
};

如果number不能浮动,那么使用parseInt()

代替parseFloat()

答案 1 :(得分:1)

您可以使用

<强> HTML

<input id="idtelf">

<强> Javscript

var number1 = document.getElementById('idtelf');

number1.onblur = function () {
    var charactersLength = number1.value.replace(/\s/gi,"").length;
    if(isNaN(number1.value) || charactersLength != 9)
    {
      alert("Enter a valid number ...");
    }
    else {
            alert("correct");
    }
};

https://jsfiddle.net/rreyaovy/5/

答案 2 :(得分:1)

试试这个..这可以处理所有类型的输入..

    function numberValidate(idtelf){
    var input = document.getElementById('idtelf');

    var number = input.value.toString();
    var myString = number.replace(/\D/g,'');
    if(number.length ==9 && number.length == myString.length)
    {
        alert(  "Correct");
    }
    else {
            alert(  "Enter a valid number");
       }
};

Demo

答案 3 :(得分:1)

这是一个使用简单正则表达式来测试该值是否为9位数字的函数。

function numberValidate(id){
  var number = document.getElementById(id).value,
    regex = /^[0-9]{9}$/;

  if (regex.test(number)) {
    return true;
  } else {
    return false;
  }
};

我们可以像这样使用这个功能:

&#13;
&#13;
function numberValidate(id){
  var number = document.getElementById(id).value,
    regex = /^[0-9]{9}$/;

  if (regex.test(number)) {
    return true;
    alert();
  } else {
    return false;
  }
};
      
var result1 = numberValidate('testNum1');
var result2 = numberValidate('testNum2');
var result3 = numberValidate('testNum3');
  
document.getElementById('result').innerHTML = 'Input 1: ' + result1 + '<br/>Input 2: ' +  result2 + '<br/>Input 3: ' +  result3;
&#13;
<input id="testNum1" value="1234">
<input id="testNum2" value="123456789">
<input id="testNum3" value="1234567891011">

<div id="result"></div>
&#13;
&#13;
&#13;

答案 4 :(得分:0)

试试这个

False

而不是

if(isNaN(number.value) || charactersLength !=9 )
相关问题