Javascript 如何检查数字和是否有九个字符?

Javascript 如何检查数字和是否有九个字符?,javascript,validation,Javascript,Validation,如何检查输入的文本是否为数字,并且在javascript中有九个字符 您可以使用下面的代码,但显示正确 function numberValidate(idtelf){ var number = document.getElementById('idtelf'); var charactersLength = number.value.length; if(isNaN(number) || charactersLength !=9 ) {

如何检查输入的文本是否为数字,并且在javascript中有九个字符

您可以使用下面的代码,但显示正确

    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");
       }
};
像这样试试

if(isNaN(number.value) || charactersLength !=9 )
而不是这个

if(isNaN(number) || charactersLength !=9  )
像这样试试

if(isNaN(number.value) || charactersLength !=9 )
而不是这个

if(isNaN(number) || charactersLength !=9  )

这个也会检查它是否是一个数字。其他答案也可以接受“123456”(末尾3个空格)


如果数字不能是浮点数,那么使用parseInt()代替parseFloat()

这个函数也会检查它是否是一个数字。其他答案也可以接受“123456”(末尾3个空格)

如果数字不能是float,那么使用parseInt()代替parseFloat()

您可以使用

HTML

<input id="idtelf">
您可以使用

HTML

<input id="idtelf">

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

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

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

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

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

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

  if (regex.test(number)) {
    return true;
  } else {
    return false;
  }
};
我们可以这样使用此函数:

function numberValidate(id){
var number=document.getElementById(id).value,
正则表达式=/^[0-9]{9}$/;
if(正则表达式测试(编号)){
返回true;
警惕();
}否则{
返回false;
}
};
var result1=numberValidate('testNum1');
var result2=numberValidate('testNum2');
var result3=numberValidate('testNum3');
document.getElementById('result').innerHTML='Input 1:'+result1+'
Input 2:'+result2+'
Input 3:'+result3
这里有一个函数,它使用一个简单的正则表达式来测试值是否为9位数字

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

  if (regex.test(number)) {
    return true;
  } else {
    return false;
  }
};
我们可以这样使用此函数:

function numberValidate(id){
var number=document.getElementById(id).value,
正则表达式=/^[0-9]{9}$/;
if(正则表达式测试(编号)){
返回true;
警惕();
}否则{
返回false;
}
};
var result1=numberValidate('testNum1');
var result2=numberValidate('testNum2');
var result3=numberValidate('testNum3');
document.getElementById('result').innerHTML='Input 1:'+result1+'
Input 2:'+result2+'
Input 3:'+result3


我建议使用Jquery验证库。@不,Jquery并不是解决所有问题的神奇方法。这怎么不起作用?有什么问题吗?试试isNaN()函数number是html元素,所以
isNaN(number)
总是
NaN
,把它改成
isNaN(number.value)
我建议使用Jquery验证库。@Oisin没有。Jquery不是解决所有问题的神奇方法。这怎么不起作用?有什么问题吗?试试isNaN()函数number是html元素,所以
isNaN(number)
总是
NaN
,把它改成
isNaN(number.value)
我建议
trim
并处理数字浮动的情况(例如如何处理
1234567.9
)。我建议修剪
并处理数字为浮动时的情况(例如,如何处理这个
1234567.9
)。它返回123,但我检查(“+123”)。长度和它返回3,而不是5,就像所有其他答案一样(不要说123ad是否是一个数字),对于
123456789asdasdasd
,您的代码返回正确,这似乎不太好。好的,您是对的,这也是一种可能的解释。我会改进的。其他答案也会接受“abcdefghi”这里你错了,因为在这个例子中是NaN return True,我认为如果不是数字,最好使用返回NaN的数字函数,这样你可以只检查字符串长度,数字不是NaN,它返回123,但我检查(“+123)。长度,它返回3,而不是5,就像所有其他答案一样(不要说123ad是否是数字),所以,对于
123456789asdasdasd
,您的代码返回正确,这似乎不太好。好的,您是对的,这也是一种可能的解释。我会改进的。其他答案也会接受“abcdefghi”这里你错了,因为在这个例子中是NaN return True,我认为如果不是一个数字,最好使用返回NaN的数字函数,这样你可以只检查字符串长度,而数字不是Nany你迟到了8分钟:)我有一些解释,我有相同的答案,实际上我认为你还有一个多余的toString()你迟到了8分钟:)我有相同的答案,但有一些解释。事实上,我认为你还有一个多余的toString()