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

来源:6-11 编程练习

唯有当下

2016-06-17 12:02

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;

   }


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

写回答 关注

2回答

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

    希望对你有用。

    唯有当下

    你说的这个方法我试了后不管输入文本框是否是数字都会弹出alert("string");提示框,可能是我哪里写错了。我换了下面这种方法才实现判断文字效果,但是我不知道这种方法有什么缺陷? if(oTxt1 == '' || oTxt2 == ''){ alert('文本框没有输入内容!') return }else if(!isNaN(oTxt1,oTxt2)) { fruit.value = result; }else{ alert('你输入的不是数字'); return }

    2016-06-17 15:14:54

    共 1 条回复 >

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

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

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468061 学习 · 21891 问题

查看课程

相似问题