时间:2021-05-26
复制代码 代码如下:
function validateNum(obj) {
//正整数(此处用了缓存)
var number = obj.data(validate).number;
//小数点(此处用了缓存)
var decimal = obj.data(validate).decimal;
//动态基本验证正则
eval("var reg = /^[0-9]{0," + number + "}([.]?[0-9]{0," + decimal + "})$" + "/g;");
var value = obj.val();
var maxnumlen = number + decimal + 1; //最大长度 + 1(小数点)
if (!reg.test(obj.val())) return false;
//最大长度等于当前值的长度并且值没有"."
if (maxnumlen == value.length && value.indexOf('.') <= 0) {
return false;
}
//尝试得到"."的索引
var valueindexof = value.indexOf('.');
if (valueindexof > 0) {
//如果"."索引后一位是空那么肯定是返回false
if (value.charAt(valueindexof + 1) == "") {
return false;
}
}
//分割值就很容易判断出前后内容
var valuesplit = value.split('.');
//如果值的长度大于定义的正整数长度
if (value.length > number) {
if (valuesplit.length == 1) {
return false;
}
//最大长度-所定义长度 大于 最大长度 即超长 ,false.
if (maxnumlen - number >= maxnumlen) {
return false;
}
}
return true;
}
给元素缓存一个validate对象后,调用即可。
定义:
$("#example").data("validate", { number: 2, decimal: 2 });
调用:
validateNum($("#example));
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
测试代码?123456789101112131415161718//1、只能输入数字或者小数点仅整数,整数加小数varreg1=/(^[0-9]{1,2}$)|
算法11、分小数和整数:如果小数点个数为1,则可能是小数。如小数点个数为0,则可能是整数。小数点个数非0也非1,那么就不是数字。2、如果是小数,再分正数和负数的
经常和数据打交道经常会碰到excel中小数点后较长的数字,如果我们仅需要保留小数点后两位时怎么做呢?看下本文吧,不但教会你保留excel小数点后两位,还教会你怎
微信小程序保留小数(toFixed)今天遇到了不少问题,问题虽小,这里记录下微信小程序保留小数(toFixed)的知识:1.保留小数点后几位小数.方法很简单.t
在JS中,一般实现保留小数点后N位的话,都是利用toFixed函数复制代码代码如下:document.write("JS保留两位小数例子");vara=2.15