嗨,我是新的Java平台。我只想在小数点(。)前只允许18位数字,而在小数点后只允许输入两个数字。为此使用了该代码段,但对我不起作用。

         if(detectBrowser() == "Firefox")
    {
        var charCode = evt.which;
        var char = getChar(evt);
    }
else if(detectBrowser() == "Chrome")
    {
        var charCode = (evt.which) ? evt.which : evt.keyCode;
    }
else
    {
        var charCode = (evt.which) ? evt.which : evt.keyCode;
    }
var flagy=false;
 var a=el.value.split(".") ;
 var b = el.value.indexOf(".");
 if(b >-1)
 {
     flagy = true;
 }
  var key = String.fromCharCode(evt.keyCode);
 var newLimit = /^[0-9]+$/i;
 /* (charCode == 37 && key != "%") || (charCode == 39 && key != "'") ||  (charCode == 35 && key != "#") (charCode == 36 && key != "$") ||*/
 if (charCode == 0 || charCode == 8 || charCode == 9 || (charCode == 97 && key != "a" && char =="a +ctrl")||  (charCode == 46 && el.value.indexOf(".")<0)) /* // back space, tab, delete, enter */
   {
       return true;
   }
  else if (charCode > 31 && (charCode < 48 || charCode > 57)) return false;
  /* else if(flag == true)
  {
  }
  */else if(flagy == false)
  {
      if(el.value.length >15) return false;
  }
  return true;


任何帮助都非常感谢。在此先感谢所有人。

最佳答案

试试这个绝对可以,在这里您必须使用而不是

 $("idMrp") ==use your text box id.


然后是完整的代码在这里

      if(detectBrowser() == "Firefox")
{
 var charCode = evt.which;
 var char = getChar(evt);
}
else if(detectBrowser() == "Chrome")
 {
 var charCode = (evt.which) ? evt.which : evt.keyCode;
 }
  else
{
 var charCode = (evt.which) ? evt.which : evt.keyCode;
   }
        var a=el.value.split(".") ;
        var b = el.value.indexOf(".");
       if(b >-1)
      {
      flag = true;
         }
      var key = String.fromCharCode(evt.keyCode);
     var newLimit = /^[0-9]+$/i;
        /* (charCode == 37 && key != "%") || (charCode == 39 && key != "'") ||            (charCode == 35 && key != "#") (charCode == 36 && key != "$") ||*/
       if (charCode == 0 || charCode == 8 || charCode == 9 || (charCode == 97 && key != "a" && char =="a +ctrl")||  (charCode == 190 && el.value.indexOf(".") < 0)) /* // back space, tab, delete, enter */
    {
     return true;
     }
      else if (charCode > 31 && (charCode < 48 || charCode > 57)) return false;
        else if(flag == true)
   {
      vala=a[0];
       valb=a[1];
       if(a[0]===vala){
         if(a[1].length>2){
        $("#idMrp").val(a[0]+"."+a[1].substring(0, a[1].length-1));
         }
         }
       else{
       if(a[0].length>16){
          }
      }

关于javascript - 如何在按键或按键事件中使用javascript在文本字段中仅允许18个小数点与2个小数点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23909115/

10-09 18:15
查看更多