当前位置: 首页 > 知识库问答 >
问题:

如何仅用2位数字验证输入数字,并允许用户使用JQuery输入点数字?

柯默
2023-03-14

如何验证只有2位数字的输入数字,并允许用户使用JQuery输入点数字?

用户可以输入0到99个数字和点数字

比如(

0.1(3位)

3.14(4位数字)

98.1212178623445243(更多数字)

等......)

https://jsfiddle.net/kwcft9bq/

<!DOCTYPE html>
<html>
<body>
<form id="submit_form" method="post">
<input type='number' id="name" name='number' min="0" required><br>    
 <input type="submit" text="Submit" >
</form>
     

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery-validation@1.19.3/dist/jquery.validate.min.js"></script>
<script>
    $(document).on('input', "#number", function () {
        
     if ($(this).val().length > 2) {
         $(this).val($(this).val().slice(0, 2));
     }
});
</script>
</body>
</html>

我试着用

if($(this).val() == "0." || $(this).val() == "1." .....|| $(this).val() == "98."){
  //can input more digits after "points"  ->  .
 }

但最后还是不行

有什么想法吗???非常感谢。

共有1个答案

东方俊材
2023-03-14

可以使用regex验证该模式:

$(document).on('input', "#number", function() {
    var regex = /^\d{0,2}(\.\d+)?$/;
    var value = $(this).val();
    if (!regex.test(value)) {
       $(this).val(parseFloat(value.slice(0, 2) + "." + value.slice(2)));
    }
  });

你可以在这里查一下

 类似资料:
  • 问题内容: 有没有一种快速的方法来将HTML文本输入()设置为仅允许数字键击(加’。’)? 问题答案: 注意: 这是更新的答案。下面的注释指的是一个旧版本,其中充斥着密钥代码。 JavaScript 您可以使用以下功能过滤文本的输入值(支持CopyPaste,Drag+Drop,键盘快捷键,上下文菜单操作,不可键入的键,插入标记的位置,不同的键盘布局以及IE9以后的所有浏览器 : 现在,您可以使用

  • 问题内容: 我正在创建一个网页,其中有一个输入文本字段,我只想在其中允许数字字符,例如(0,1,2,3,4,5 … 9)0-9。 我该如何使用jQuery? 问题答案: 注意: 这是更新的答案。下面的注释指的是一个旧版本,其中充斥着密钥代码。 在JSFiddle上 尝试一下。 对此没有原生的jQuery实现,但是您可以使用以下插件过滤文本的输入值(支持Copy + Paste,Drag + Dro

  • 问题内容: 我是angularjs的新手。我想知道什么是只允许在文本框中键入有效数字的方法。例如,用户可以键入“ 1.25”,但不能键入“ 1.a”或“ 1 ..”。当用户尝试输入下一个将使它成为无效数字的字符时,他将无法输入。 提前致谢。 问题答案: 您可以尝试使用此指令来阻止将任何无效字符输入到输入字段中。( 更新 :这依赖于对模型具有明确知识的指令,这对于可重用性而言并不理想,请参见下面的可

  • 问题内容: 有没有一种快速的方法来将HTML文本输入()设置为仅允许数字键击(加’。’)? 问题答案: 注意: 这是更新的答案。下面的注释指的是一个旧版本,其中充斥着密钥代码。 JavaScript 您可以使用以下功能过滤文本的输入值(支持Copy + Paste,Drag + Drop,键盘快捷键,上下文菜单操作,不可键入的键,插入标记的位置,不同的键盘布局以及IE 9以后的所有浏览器) : 现

  • 问题内容: 我是这个C ++世界的新手,正在尝试为数字密码编写输入验证功能。这是我到目前为止所得到的: 对于不正确的值,它工作得很好,但在有效输入时不会中断循环。知道我在这里缺少什么吗?干杯!! James Kanze脚本的ErroR: 新代码: 使用 和 验证作为字符串 感谢所有人(尤其是James Kanze)的帮助。这件事在这里很有效。 那里还有进一步改进的空间吗?干杯!! 问题答案: 这看