0

我想使用户控制以获得数相同数量的这种接受输入只有2位小数的JavaScript

125.00 125.27 125.20 1231545.25 2566.66

我有面具的文本框,但其长度试过可以是任何东西 我已经使用了JavaScript文本谁接受数 这样 click here

如果适用于这个JavaScript插件让我知道 或任何代码在价格格式接受值

限制用户只插入数和两位小数位,同时进入

如果数量不太格式化然后剪切和格式文字变更后数

一样,如果125.2然后125.20或者125则125.00或135156.然后13​​5156

我有搜索互联网上,但没有任何插件或脚本得到了这个

得到了类似numeric.js的插件,但它不限制小数空格。

害虫,如果JavaScript的可用

回复

我不想做验证检查输入的值,我想接受限制值。

帮助我。

+0

你见过这样的:**的http://计算器。COM /问题/ 660682 /正则表达式,即百搭的数字,与向上至2十进制地方** –

回答

1

您可以使用Ajax Control Toolkit MaskedEdit控制:

MaskedEditASP.NET AJAX扩展,重视TextBox控件以限制可输入的类型的文本。 MaskedEdit将“掩码”应用于仅允许输入特定类型的字符/文本的输入。支持的数据格式为:数字,日期,时间和日期时间。 MaskedEdit使用CultureName属性中指定的文化设置。如果没有指定,文化设置将与页面相同:英语(美国)。

示例代码:

<ajaxToolkit:MaskedEditExtender 
    TargetControlID="TextBox2" 
    Mask="9,999,999.99" 
    MessageValidatorTip="true" 
    OnFocusCssClass="MaskedEditFocus" 
    OnInvalidCssClass="MaskedEditError" 
    MaskType="Number" 
    InputDirection="RightToLeft" 
    AcceptNegative="Left" 
    DisplayMoney="Left" 
ErrorTooltipEnabled="True"/> 

See Working Demo

0

我也有同样的problem.This代码已经解决了我的problem.This的解决办法是什么üwant.It不仅仅是foramt你要跟十进制数,但也会消除空白。试试这个。在我的情况下,我允许用户输入'+'或' - ',所以我也检查了这个验证。

<script type="text/javascript"> 
     function checkforvalidation() { 
      var txtvalue = document.getElementById('<%=txtspherical.ClientID %>').value; 
      var leftstr = ""; 
      var rightstr = ""; 
      var tempstr = ""; 
      var operator = ""; 
      txtvalue = txtvalue.replace(/\s/g, ''); 
      document.getElementById('<%=txtspherical.ClientID %>').value = txtvalue; 
      if (txtvalue.indexOf(".") != -1) { 

       leftstr = txtvalue.split(".")[0]; 
       rightstr = txtvalue.split(".")[1]; 
       if (leftstr.indexOf("-") == 0 || leftstr.indexOf("+") == 0) { 

        operator = leftstr.substr(0, 1); 
        tempstr = leftstr.substr(1, leftstr.length - 1); 

        leftstr = ltrim(tempstr, '0'); 

        if (leftstr.length == 0) { 
         leftstr = '0'; 
        } 

        if (rightstr.indexOf("-") == -1 || rightstr.indexOf("+") == -1) { 

         rightstr = ltrim(rightstr, '0'); 

         rightstr = chkdecimalpoints(rightstr); 
         if (operator != null || operator != "") { 
          txtvalue = operator + leftstr + "." + rightstr; 
         } 
         else { 
          txtvalue = leftstr + "." + rightstr; 
         } 
         document.getElementById('<%=txtspherical.ClientID %>').value = txtvalue; 
        } 
        else { 
         document.getElementById('<%=txtspherical.ClientID %>').value = ""; 
        } 
       } 
       else { 

        tempstr = leftstr.substr(0, leftstr.length); 
        leftstr = ltrim(tempstr, '0'); 
        if (leftstr.length == 0) { 
         leftstr = '0'; 
        } 
        if (rightstr.indexOf("-") == -1 || rightstr.indexOf("+") == -1) { 

         rightstr = rtrim(rightstr, '0'); 
         rightstr = chkdecimalpoints(rightstr); 
         txtvalue = leftstr + "." + rightstr; 
         document.getElementById('<%=txtspherical.ClientID %>').value = txtvalue; 
        } 
       } 
      } 
      else if (txtvalue.indexOf("-") == -1 || txtvalue.indexOf("+") == -1) { 

       txtvalue = ltrim(txtvalue, '0'); 
       if (txtvalue.length == 0) { 
        txtvalue = '0'; 
       } 
       if (operator != null || operator != "") { 
        txtvalue = operator + txtvalue + ".00"; 
       } 
       // txtvalue = leftstr + "." + rightstr; 
       document.getElementById('<%=txtspherical.ClientID %>').value = txtvalue; 
      } 
      else if (txtvalue.indexOf("-") == 0 || txtvalue.indexOf("+") == 0) { 

       operator = txtvalue.substr(0, 1); 
       tempstr = txtvalue.substr(1, leftstr.length - 1); 
       txtvalue = alltrim(tempstr, '0'); 
       if (operator != null || operator != "") { 
        txtvalue = operator + txtvalue + ".00"; 
        document.getElementById('<%=txtspherical.ClientID %>').value = txtvalue; 
       } 
      } 
     } 

     function chkdecimalpoints(rightstr) { 
      if (rightstr.length == 0) { 
       rightstr = '00'; 

       return rightstr; 

      } 
      else if (rightstr.length == 1) { 
       rightstr = rightstr + '0'; 
       return rightstr; 
      } 
      else if (rightstr.length > 2) { 

       var tempvar = rightstr.substr(2, 1); 

       if (tempvar >= 5) { 

        tempvar = parseInt(rightstr.substr(1, 1)) + 1; 
        tempvar = rightstr.substr(0, 1) + tempvar.toString(); 
        if (tempvar.length > 2) { 
         tempvar = tempvar.substr(0, 2); 
        } 
        return tempvar; 
       } 
       else { 

        tempvar = rightstr.substr(0, 2); 
        return tempvar; 
       } 
      } 
      else { 
       return rightstr; 
      } 
     } 
     function ltrim(str, chars) { 
      chars = chars || "\\s"; 
      return str.replace(new RegExp("^[" + chars + "]+", "g"), ""); 
     } 
     function rtrim(str, chars) { 
      chars = chars || "\\s"; 
      return str.replace(new RegExp("[" + chars + "]+$", "g"), ""); 
     } 
     function alltrim(str, chars) { 
      chars = chars || "\\s"; 
      return str.replace(new RegExp("^[" + chars + "]+$", "g"), ""); 
     } 

    </script> 

HTML来源:

<asp:TextBox ID="txtspherical" runat="server" OnBlur="javascript:checkforvalidation();"> 
     </asp:TextBox> 
0
function validNumber(input){ 
    input=input.replace(/\s+/g," ").replace(/^\s+|\s+$/g,""); 
    if(input.match(/\d+\.*\d*/i)){ 
     input=input.match(/(\d+\.*\d*)/i)[1].replace(/\.$/i, ""); 
     if(!input.match(/\./i)) input+=".00"; 
     if(input.match(/\.(\d+)/i)[1].length<2) input+="0"; 
     return input; 
    }else{ 
     return "0.00"; 
    } 
}