您的浏览器过于古老 & 陈旧。为了更好的访问体验, 请 升级你的浏览器
Ready 发布于2016年05月26日 01:46

原创 jQuery Validator range 数值范围校验器

3608 次浏览 读完需要≈ 5 分钟

内容目录

jQuery Validator的range校验器用于校验指定输入数值是否处于指定的数值范围区间中。

语法

jQuery Validator 1.0 新增

// 在校验规则对象中指定该属性
range: expression

// 例如:
range: "(0,100]"

参数

参数 描述
expression String类型一个指示数值范围区间的表达式字符串。

表达式expression采用数学上的区间表示法来定义,其格式为"[min,max]"。其中,minmax只能是数字(包括小数),区间边界符"["和"]"分别表示上下边界闭区间(包含边界值),你也可以使用"("和")"来分别表示上下边界开区间(不包含边界值)。minmax也可以省略其中一个,则分别缺省表示负无穷和正无穷。

以下是一些常见的表达式示例:

  • "[min,max]"表示:输入值必须 >= min 并且 <= max

  • "(min,max)"表示:输入值必须 > min 并且 < max

  • "(min,max]"表示:输入值必须 > min 并且 <= max

  • "(min,)"表示:输入值必须 > min。缺省方的区间边界符,写作开区间、闭区间均可,没有区别(下同)。例如:"(min,)"等价于"(min,]"

  • "[,max]"表示:输入值必须 <= max

  • "[value]"表示:输入值必须 == value

出于严格规范性以及解析性能考虑,目前expression中不能包含任何空白字符。
形如"[min, max]"的写法会在执行校验时抛出错误。

示例&说明

以如下HTML表单为例:

<form action="https://codeplayer.vip/">
	<div>
		<label>商品价格</label>:
		<input id="price" name="price" type="text" >
	</div>
	<input type="submit" value="提交" />
</form>

我们可以指定对"price"进行非空校验+格式校验+数值范围校验:运行代码

// 定义一个名为"price"的校验规则
v.define("price", {
	// 默认添加required: true,无需显式指定
	format: "number/money", // 两位小数以内的数字
	range: "(0,)" // 数值必须大于0
});
// 当然,系统已经预定了该校验规则,名称为"money+",你无需再重复定义,这里只是演示


// 在表单提交时执行校验
$("form").v("submit", {
	"#price": "price"
});
  • CodePlayer技术交流群1
  • CodePlayer技术交流群2

0 条评论

撰写评论

打开导航菜单