如何在JavaScript中将输入验证为数字

时间:2016-03-10 21:30:03

标签: javascript validation

我是JavaScript编程的新手,并且一直在尝试验证从php页面上的用户输入的数字。这是包含的javascript。



var validate_and_create = function(){
    var i_number = $("input_number").value;
    var isValid = true;

    if (i_number === ""){
        $("create_n_error").firstChild.nodeValue = "Number text field cannot be blank.";
        isValid = false;
    } else {
        if  (typeof i_number === 'number') {
            $("create_n_error").firstChild.nodeValue = "This is a number!";
            isValid = true;
        } else {
            $("create_n_error").firstChild.nodeValue = "This is not a number!";
            isValid = false;
        }
    }




即使在文本框中插入整数值,也始终打印输入不是数字。所以我确定它将输入作为字符串输入。所以我必须将其转换为整数,以便我可以验证吗?或者我做错了什么?

2 个答案:

答案 0 :(得分:1)

您可以使用parseInt将值转换为整数,例如const myElement = <MyComponent> <ChildComponent /> </MyComponent> return ( <div> {this.state.open ? myElement : otherElement} </div> ); 将返回parseInt("55", 10)

55之类的内容会返回parseInt("xx",10)

答案 1 :(得分:0)

感谢adeneo,isNaN致力于验证。

以下代码:

var validate_and_create = function(){
    var i_number = $("input_number").value;
    var isValid = true;

    if (i_number === ""){
        $("create_n_error").firstChild.nodeValue = "Number text field cannot be blank.";
        isValid = false;
    } else {
        if  (isNaN(i_number)) {
            $("create_n_error").firstChild.nodeValue = "This is not a number!";
            isValid = false;
        } else {
            $("create_n_error").firstChild.nodeValue = "This is a number!";
            isValid = true;
        }
    }