问答详情
源自:6-11 编程练习

求js如何不用正则就能判断文本框输入内容为数字

function count(){

    //获取第一个输入框的值

    var sum1 = document.getElementById('txt1').value;

//获取第二个输入框的值

    var sum2 = document.getElementById('txt2').value;

//获取选择框的值

    var selVal = document.getElementById('select').value;

    //获取结果文本框对象的值

    var fruit = document.getElementById('fruit');

    //存储结果的变量

    var result = "";

    //判断第一个/第二个文本框内容为空就弹出提示框,并退出整个函数。

    if( sum1 =="" || sum2 =="" ){

        alert('文本框没有输入数字,不能计算。')

        fruit.value = '';

        return

    }

    

//获取通过下拉框来选择的值来改变加减乘除的运算法则

    switch(selVal){

        case '+':

        result = parseFloat(sum1) + parseFloat(sum2);

        break;

        case '-':

        result = parseFloat(sum1) - parseFloat(sum2);

        break;

        case '*':

        result = parseFloat(sum1) * parseFloat(sum2);

        break;

        default:

        result = parseFloat(sum1) / parseFloat(sum2);

    }

    //设置结果输入框的值 

        fruit.value = result;

   }


我只实现了判断文本框内容为空会弹出提示框,请问有没有不用正则就能判断文本框输入内容为数字的方法?

提问者:唯有当下 2016-06-17 12:02

个回答

  • inro
    2016-06-17 14:05:38
    已采纳

    题主可以用typeof 运算符来返回一个用来表示表达式的数据类型的字符串。

    typeof[()expression[]] ;

    expression 参数是需要查找类型信息的任意表达式。

    说明
    typeof 运算符把类型信息当作字符串返回。typeof 返回值有六种可能: "number," "string," "boolean," "object," "function," 和 "undefined."

    typeof 语法中的圆括号是可选项

    举个例子:

    function aFunction(iNum1)
     {   
          if (typeof iNum1 == "number" )
          {   
             alert("number");   
          }
       if ( typeof iNum1 == "string")
       {        
            alert("string");   
       }
     }

    希望对你有用。

  • 水货
    2016-06-17 15:30:37

    input 输入文本框获取的值都是string 类型  你可以用parseInt  或者 parseFloat 转成 number 类型  或者设置input  type = "number"