格式为,(2位正整数)+(小数点)+(4位正整数)。其中2位正整数必填且只能填写1-2位,小数点可填可不填,小数点后的小数位可任意填写1-4位。现在,假如填写一个整数,则只能填写最多2位,0-99(匹配),100以上不匹配。
假如填写一个小数,则必须只能填写2位正整数,小数部分只能填写1-4位的正整数。

解决方案 »

  1.   

    \d{1} ¦[\d{2}[\.\d{1,4}]?]
    可以录入超过2位的正整数。不行@"\d{1,2}(\.\d{1,4})?"只能录入2位正整数。
      

  2.   

    ((^\d{2}.\d{4}$)|(^\d{1,2}$))满足条件:1。 最多两位整数
    2。如果有小数,则整数位数为2,小数位数为4
      

  3.   

    ((^\d{2}.\d{4}$) ¦(^\d{1,2}$)) 满足条件:1。   最多两位整数 
    2。如果有小数,则整数位数为2,小数位数为4-------------------------------------
    输入两位整数后,再也不能输入小数了
      

  4.   

    ^\d{1,2}$ ¦^\d{1,2}\.\d{1,4}$
    ------------------------------------- 
    输入两位整数后,再也不能输入小数了
      

  5.   

    没必要用正则,string.Format(你的数字,"00.####")
      

  6.   

    空军那个理论上看起来是可以,不过不知道为啥,我输入时,不能输入小数点:代码如下:<asp:TextBox id="txbInsterestRate" onkeypress="return regInput(this,/^\d{1,2}(\.\d{1,4})?$/,String.fromCharCode(event.keyCode))">function regInput(obj, reg, inputStr)
    {
        var docSel = document.selection.createRange();
        if (docSel.parentElement().tagName != "INPUT")
            return false; oSel = docSel.duplicate();
    oSel.text = "";
        var srcRange = obj.createTextRange();
        oSel.setEndPoint("StartToStart", srcRange);
        var str = oSel.text + inputStr + srcRange.text.substr(oSel.text.length);
        return reg.test(str);
    }
    是哪里出了问题呢?
      

  7.   

    ((^\d{2}\.\d{4}$)|(^\d{1,2}$)) 
    中间那个连接符号是 竖线,我一发布到网上,它自己就变了