这二个正则是别人帮我写的@"^\d+[Kk]?(\.\d{1,3})?$@"^\d+[Kk]?$但是不对,我不明白,看不懂大伙帮忙瞅瞅,
我要实现的是 一个是验证 价格, 一个是数量
价格合法格式为 数字+最多允许三位小数, 其中可以带大小写K 例如 合法的为 1k.15   1000.15  1k.125
数量就比较简单只要验证输入的是数字就行

解决方案 »

  1.   

    public static void TestRegex16()
    {
        string[] lines = new string[] { "1k.15", "1000.15", "1k.125" };
        Regex regExp = new Regex(@"^\d+[Kk]?(\.\d{1,3})?$");
        foreach (string line in lines)
        {
            if (regExp.IsMatch(line))
            {
                Console.WriteLine("格式正确:" + line);
            }
            else
            {
                Console.WriteLine("格式错误:" + line);
            }
        }
    }
      

  2.   

    var  regeExp =new RegExp("\d+[Kk]?(\.\d{1,3})?");
           if(regeExp.test(price))
             alert("true");
            lse 
              alert("false");为什么不可以我好郁闷
      

  3.   

    好像JS 中用 \d 不行必须要用[0-9] 但是我改了还是不行,谁帮帮我
      

  4.   

    你的price是怎样的?<script type="text/javascript"> 
    var price = "1k.15";
    var reg = /\d+[Kk]?(?:\.\d{1,3})?/g;
    if(reg.test(price))
    {
    alert("true");
    }
    else
    {
    alert("false");
    }
    //document.write(reg.exec(price));
    </script>弹出true
      

  5.   

    var result =new  RegExp ("^[0-9]+[Kk]?(.[0-9]{1,3})?$");要这样写我好郁闷
      

  6.   

    script中不支持 \d的写法,很是奇怪. 必须要用[0-9]
      

  7.   

    复制粘贴到记事本,保存为htm,双击试试?
      

  8.   

    可以,等等,怎么有这种写法, 
    var reg = /\d+[Kk]?(?:\.\d{1,3})?/g;
    不是要 new reg的吗怎么不用了,逍遥 你真厉害学习了。