js验证整数加保留小数点的简单实例


Posted in Javascript onDecember 02, 2013
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));
Javascript 相关文章推荐
IE和Firefox下javascript的兼容写法小结
Dec 10 Javascript
向左滚动文字 js代码效果
Aug 17 Javascript
jquery中push()的用法(数组添加元素)
Nov 25 Javascript
jquery增加和删除元素的方法
Jan 14 Javascript
javascript动态添加checkbox复选框的方法
Dec 23 Javascript
jquery对Json的各种遍历方法总结(必看篇)
Sep 29 Javascript
JavaScript实现点击按钮复制指定区域文本(推荐)
Nov 25 Javascript
用angular实现多选按钮的全选与反选实例代码
May 23 Javascript
Three.js利用dat.GUI如何简化试验流程详解
Sep 26 Javascript
Vue实现点击后文字变色切换方法
Feb 11 Javascript
tracking.js页面人脸识别插件使用方法
Apr 16 Javascript
arcgis.js控制地图地体的显示范围超出区域自动弹回(实现思路)
Jan 28 Javascript
ExtJs中gridpanel分组后组名排序实例代码
Dec 02 #Javascript
javascript操作html控件实例(javascript添加html)
Dec 02 #Javascript
解析Javascript中大括号“{}”的多义性
Dec 02 #Javascript
解析JavaScript中点号“.”的多义性
Dec 02 #Javascript
解析JavaScript中的不可见数据类型
Dec 02 #Javascript
Jquery使用Firefox FireBug插件调试Ajax步骤讲解
Dec 02 #Javascript
jquery遍历之parent()和parents()的区别及parentsUntil()方法详解
Dec 02 #Javascript
You might like
复杂检索数据并分页显示的处理方法
2006/10/09 PHP
FCKeditor的安装(PHP)
2007/01/13 PHP
php设计模式 Observer(观察者模式)
2011/06/26 PHP
Yii2 rbac权限控制操作步骤实例教程
2016/04/29 PHP
Javascript下IE与Firefox下的差异兼容写法总结
2010/06/18 Javascript
ie浏览器使用js导出网页到excel并打印
2014/03/11 Javascript
jQuery源码分析之jQuery.fn.each与jQuery.each用法
2015/01/23 Javascript
AngularJS 日期格式化详解
2015/12/23 Javascript
1秒50万字!js实现关键词匹配
2016/08/01 Javascript
使用InstantClick.js让页面提前加载200ms
2017/09/12 Javascript
select获取下拉框的值 下拉框默认选中方法
2018/02/28 Javascript
vue实现裁切图片同时实现放大、缩小、旋转功能
2018/03/02 Javascript
Vue刷新修改页面中数据的方法
2018/09/16 Javascript
vue新vue-cli3环境配置和模拟json数据的实例
2018/09/19 Javascript
Javascript中parseInt的正确使用方式
2018/10/17 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【圆形情况】
2018/12/13 Javascript
Angular4.0动画操作实例详解
2019/05/10 Javascript
element-ui上传一张图片后隐藏上传按钮功能
2019/05/22 Javascript
24行JavaScript代码实现Redux的方法实例
2019/11/17 Javascript
简单实现python收发邮件功能
2018/01/05 Python
python射线法判断一个点在图形区域内外
2019/06/28 Python
python将字符串转换成json的方法小结
2019/07/09 Python
python输入一个水仙花数(三位数) 输出百位十位个位实例
2020/05/03 Python
Python3利用scapy局域网实现自动多线程arp扫描功能
2021/01/21 Python
全球最大最受欢迎的旅游社区:Tripadvisor
2017/11/03 全球购物
Nip + Fab官网:英国美容品牌
2019/08/26 全球购物
PHP如何对用户密码进行加密
2014/07/31 面试题
《闻一多先生的说和做》教学反思
2014/04/28 职场文书
公司领导班子对照检查材料
2014/09/24 职场文书
2014年平安创建工作总结
2014/11/24 职场文书
2015年依法行政工作总结
2015/04/29 职场文书
敬老院志愿者活动总结
2015/05/06 职场文书
地心历险记观后感
2015/06/15 职场文书
go设置多个GOPATH的方式
2021/05/05 Golang
使用Redis实现秒杀功能的简单方法
2021/05/08 Redis
Go语言测试库testify使用学习
2022/07/23 Golang