摘要:正文今天在做表单验证的时候发现,默认的验证规则必须输入整数是只能输入正整数的。
正文
今天在做表单验证的时候发现,validate默认的验证规则 :
digits:true 必须输入整数
是只能输入正整数的。
而公司项目中表单一直用digits:true,也没发现异常,直到今天,那个数据是可以输入负数的,测试才发现,输入了负整数,表单验证提示 必须输入整数!
难道 负整数 不算是 整数 吗?
于是,我查看了jquery.validate.js的源码,发现:
// http://docs.jquery.com/Plugins/Validation/Methods/digits digits: function( value, element ) { returnthis.optional(element) || /^d+$/.test(value); },
而正则表达式:
验证非负整数(正整数 + 0) ^d+$
验证非正整数(负整数 + 0) ^((-d+)|(0+))$
也就是说, jquery.validate.js的源码 中 digits:true 的确是验证的非负整数(正整数 + 0);
所以,自己写了个自定义方法,解决了整数(正整数+负整数+0)的验证:
jQuery.validator.addMethod("integer", function (value, element) { var tel = /^-?d+$/g; //正、负 整数 + 0 return this.optional(element) || (tel.test(value)); }, "请输入整数");资料:
整数 维基百科,自由的百科全书
自然数 维基百科,自由的百科全书
正则表达式 维基百科,自由的百科全书
JS正则表达式验证数字
最全的常用正则表达式大全——包括校验数字、字符、一些特殊的需求等等
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/91112.html
摘要:也就是说如果传的中有的为空或者是负数,入参验证不会检测出来。为了能够进行嵌套验证,必须手动在实体的字段上明确指出这个字段里面的实体也要进行验证。用在方法入参上无法单独提供嵌套验证功能。 来源:blog.csdn.net/qq_27680317/article/details/79970590整编:Java技术栈(公众号ID:javastack) Spring Validation验证框...
摘要:验证是否含有等字符只能输入汉字验证地址验证验证电话号码正确格式为,,,,,。验证身份证号位或位数字验证一年的个月正确格式为和验证一个月的天正确格式为和。 一、校验数字的表达式 1 数字:^[0-9]*$ 2 n位的数字:^d{n}$ 3 至少n位的数字:^d{n,}$ 4 m-n位的数字:^d{m,n}$ 5 零和非零开头的数字:^(0|1-9*)$ 6 非零开头的最多带两位小数的数字...
摘要:有符号的右移操作符由两个大于符号表示这个操作符的含义就是将数值的位向右移指定的位数同时保留符号位的值正负号标记有符号的右移操作符与左移操作符刚好相反比如向右移动位就是同样的在移位的过程中也会出 位操作符的基本概念 因为ECMAscript中所有数值都是以IEEE-75464格式存储,所以才会诞生了位操作符的概念. 位操作符作用于最基本的层次上,因为数值按位存储,所以位操作符的作用也就是...
阅读 2443·2021-11-19 09:59
阅读 1970·2019-08-30 15:55
阅读 929·2019-08-29 13:30
阅读 1329·2019-08-26 10:18
阅读 3081·2019-08-23 18:36
阅读 2382·2019-08-23 18:25
阅读 1155·2019-08-23 18:07
阅读 429·2019-08-23 17:15