JS判断文本框输入一个式子(如5-2,20.15487-20.111,-20.15+2等)为数字??
如果自己一步一步解析的话  很麻烦  正则表达式用的不是很熟   求大神赐教。。

解决方案 »

  1.   

    http://www.programfan.com/blog/article.asp?id=37155
    看一看,用正则的
      

  2.   

    var reg = new RegExp("(\\s*[+-]?\\s*\\d+\\.?\\d*\\s*(\\s*[\\+\\-\\*/]?\\s*\\d+\\.?\\d*)*)+",'gm');
    var s=" + 20.15+2 *9 +9 /8 * 65 ";
    alert(reg.test(s));
    alert(s.match(reg));试了下这个可靠
      

  3.   

    有一个NaN函数 可以参考下
      

  4.   

    var reg = new RegExp("(\\s*[+-]?\\s*\\d+\\.?\\d*\\s*(\\s*[\\+\\-\\*/]?\\s*\\d+\\.?\\d*)*)+",'gm');
    var s=" + 20.15+2 *9 +9 /8 * 65 ";
    alert(reg.test(s));
    alert(s.match(reg));
     建议楼主看看正则 多练习,自己多写几个就熟悉了
      

  5.   

    谢谢大家的帮助   我已找到解决方法了  方法如下:try{
    document.getElementById("txt_formula").value =eval(document.getElementById("txt_formula").value);
    }
    catch(e){
    document.getElementById("txt_formula").value = "错误的算式";
    }
      

  6.   

    var reg = new RegExp("(\\s*[+-]?\\s*\\d+\\.?\\d*\\s*(\\s*[\\+\\-\\*/]?\\s*\\d+\\.?\\d*)*)+",'gm');
    var s=" + 20.15+2 *9 +9 /8 * 65 ";
    alert(reg.test(s));
    alert(s.match(reg));
    普科学生试了下这个可靠