javascript - 如何在按键或按键事件上使用 javascript 在文本字段中仅允许 18 个数字和 2 个小数点

标签 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;

非常感谢任何帮助。预先感谢大家。

最佳答案

试试这个肯定会起作用。这里你必须使用而不是

 $("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/

相关文章:

Javascript - 动态 .filter() - Json 文件

javascript - 将一个变量添加到另一个变量

javascript - 如何将json对象显示为html?

用于循环显示图标的 JavaScript 代码

div(对象)的 jQuery 值

java - 使用 JSTL 导入另一个 Web 资源的内容

javascript - 根据另一个下拉选择 Spring MVC AJAX 填充下拉列表

java - 使用 JSP 上传 Word 文档

c# - 按钮变灰,直到所有文本框都包含 ASP 中的文本

javascript - rss 提要阅读器脚本