首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >十进制掩蔽

十进制掩蔽
EN

Stack Overflow用户
提问于 2012-12-17 20:51:25
回答 3查看 7.5K关注 0票数 1

我正在使用jQuery屏蔽输入插件

我需要为百分数定义一个十进制数字的掩码,这样所有下面的输入都是有效的输入-

  • 1
  • 10
  • 1.1
  • 1.10
  • 10.1
  • 10.10
  • 99.99
  • 100

百分比不能大于100,所以100.00是有效的,而100.01不是。

代码语言:javascript
复制
$("#" + enum.WomenInSororitiesId).mask("9?9.99"); //valid till 99.99

使用上面的代码,我至少会得到一个数字,但是对于带有小数点的1-9,用户需要将其输入为01.00或02.00。

我怎样才能返工这个面具,使它可以工作的上述情况?

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-12-17 21:52:05

这是不可能使用蒙面输入插件。

可以使用验证函数用小数位验证百分比字段,如对此问题的许多回答中所述:

验证包含浮点数的文本字段是否为有效百分比值?

票数 1
EN

Stack Overflow用户

发布于 2012-12-17 20:59:25

这并不是一个很好的答案,但似乎你不能。作为一个安慰奖,这里有一个小代码来测试您的值,以确保它是数字和< 100。

代码语言:javascript
复制
$("#" + enum.WomenInSororitiesId).change(function () {
    val = $(this).val();
    if(!$.isNumeric(val) || val-0 > 100) {
        alert("Something went horribly, horribly wrong.");
    }
});
票数 0
EN

Stack Overflow用户

发布于 2013-04-22 20:20:35

这可以通过声明允许字符为小数点或数字的自定义掩蔽定义来实现。例如:

代码语言:javascript
复制
$.mask.definitions['~']='[0-9|.]';
$("input.abcd").mask("9?~9");  

该条规定:

  • 第一个字符必须是数字。
  • 后续字符是可选的。
  • 第二个字符可以是0-9或.
  • 第三个字符可以是0-9,但不是.(这可以防止像“5.2”这样的奇怪输入。)

此方法的一个缺点是,如果使用以下掩码:

代码语言:javascript
复制
$.mask.definitions['~']='[0-9|.]';
$("input.abcd").mask("9?~~~9");  

像“5.2”这样的输入是有效的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13921997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档