String.prototype.test = function(){
var tempstr = this.match(/^(?:[1-9]\d*|0)\.\d{2}$/);
if(tempstr != null)
return tempstr;
else
return "字符串不合法";
}alert("0.01".test());

解决方案 »

  1.   

    function MatchDemo(){
       var r, re;                     // 声明变量。
       var s = "11.20";
       re = new RegExp("\d+\.\d{2}");  // 创建正则表达式对象。
       r = s.match(re);               // 在字符串 s 中查找匹配。
       return(r);                     // 返回匹配结果。
    }
      

  2.   

    function IsFormatNum(num)
    {
     return  /\d+\.\d{2}/.test(num);}
    var n = "100.37";
    alert(IsFormatNum(n));
      

  3.   

    另外:呵呵看你需要不String.prototype.test = function(){
    //var tempstr = this.match(/^(?:[1-9]\d*|0)\.\d{2}$/);
    var tempstr = this.match(/^(?:-?(?:(?:[1-9]\d{0,2}(?:,\d{3})*)|[1-9]\d*|0))(?:\.\d{1,2})?$/);//不需要负数把"-?"取掉
    if(tempstr != null)
    return tempstr;
    else
    return "字符串不合法";
    }
    alert("-1,000,000.01".test());
      

  4.   

    to CutBug(这个冬天不太冷) ( ) 
    没有校验输入的是否是数字,
    var n=“a”;也通过了。
      

  5.   

    \d不是数字是什么?又没搞错,
    你try<script language=javascript>
    function IsFormatNum(num)
    {
     return  /\d+\.\d{2}/.test(num);}
    var n = "a";
    alert(IsFormatNum(n)); //难道你的是'true',那你的computer可以做废铁卖了</script>