如何在键盘或按键事件中使用javascript在文本字段中仅允许18个带有2个小数点的nos

时间:2014-05-28 10:28:54

标签: javascript jquery jsp

您好我是新的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;

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

1 个答案:

答案 0 :(得分:1)

尝试这一点肯定会起作用。你必须使用而不是

 $("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){
          }
      }