繁体   English   中英

jquery验证引擎中整数范围的自定义验证规则

[英]custom validation rule for integer range in jquery validation engine

我正在使用JQuery Validation Engine库。 我试图通过Regexcustom method创建自定义验证来验证字段输入。

我建议将此验证名称作为custom integer validation containing integer range or some integers separated by comma(s) or combination of both

以下是标准:

  1. 可以输入任何整数。 例如89
  2. 可以输入任何整数范围。 例如12-1815-18但不是19-3 (range should between min to max)
  3. 可以输入以逗号(,)分隔的上述两个输入的任意组合,只逗号之间有或没有空格。 例如1-6, 5, 8-13, 7 但不是 -3-5 (not -3)3-7-, 10 (not 7-)

我试过这个自定义规则:

"integerRangeComma": {                    
             "regex": /^(([0-9]+)([\,]([0-9]+))?|([\,]([0-9]+))?)$/,
             "alertText": "* Invalid floating decimal number"
          },

我进行上述验证的目的是:

我有一个总文件列表,我们假设12 我在表单中创建了一个文本框,以接受他喜欢在他的个人资料中添加的文件。 上述标准应适用于此。

我的下一个问题是,我还必须验证用户输入的数字不大于12 (my presumption)

如何通过创建自己的自定义规则或其他方法来实现此目的。

提前致谢。

用正则表达式做数学总是很痛苦,你应该解析它并用代码检查不超过12的条件。 但是,通过使用这个简单的例子是可能的

[0-9]|1[12]

那么您输入单个整数或范围的组合将是

number(-number)?

对于一个输入,或两个commaseparated的是

input(\s*,\s*input)?

如果您想要两个以上,请使用*表示无限制,或使用{0,n}表示有限的重复而不是?

所以,你得到了

var integerRangeComma = {                    
     "regex": /^([0-9]|1[12])(-[0-9]|-1[12])?(\s*,\s*([0-9]|1[12])(-[0-9]|-1[12])?)?$/,
     "alertText": "a single page number until 12 or an interval in them, or two of those separated by a comma"
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM