Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Jquery或Javascript在文本框中验证十进制字段_Javascript_Jquery_Jquery Ui - Fatal编程技术网

使用Jquery或Javascript在文本框中验证十进制字段

使用Jquery或Javascript在文本框中验证十进制字段,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我在论坛上搜索了一下,但没有找到正确的答案。 我正在尝试的是 文本框,它接受十进制数字,所以用户应该能够 输入0或1个小数点,即点(.) 点前最多5位,点后最多5位 不允许使用其他字符,但箭头键和其他键(如f1和f2)应该可以使用 它应该适用于以下情况 12345 12345.1 12345.12345 1.12345 .12345 制作此文本框时需要帮助。请尝试以下操作: function isFloat(s) { return s ? /\d{1,5}(?:\.\d{1,5})?/.

我在论坛上搜索了一下,但没有找到正确的答案。 我正在尝试的是

  • 文本框,它接受十进制数字,所以用户应该能够 输入0或1个小数点,即点(.)
  • 点前最多5位,点后最多5位
  • 不允许使用其他字符,但箭头键和其他键(如f1和f2)应该可以使用
  • 它应该适用于以下情况 12345 12345.1 12345.12345 1.12345 .12345

    制作此文本框时需要帮助。

    请尝试以下操作:

    function isFloat(s) {
        return s ? /\d{1,5}(?:\.\d{1,5})?/.test(s) : true;
    }
    
    
    $('input.float').on('change', function() {
      if (!isFloat($(this).val())) {
        alert('not a float');
      }
    });
    
    这是小提琴:

    代码没有使该字段成为必填字段。如果它是空的,它就会过去。如果可以通过将三元条件中的
    true
    更改为
    false
    (第2行)来更改该值

    编辑:

    哦,如果你想限制某些键的输入,你应该重新考虑。这不是一个很好的用户体验。人们习惯于键入任何东西。最好只是警告他们。这样做既便宜又有效:

    试试看