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 相关文章推荐
运用jquery实现table单双行不同显示并能单行选中
Jul 25 Javascript
JavaScript 读取元素的CSS信息的代码
Feb 07 Javascript
基于jquery的图片的切换(以数字的形式)
Feb 14 Javascript
一个js导致的jquery失效问题的解决方法
Nov 27 Javascript
jQuery模拟淘宝购物车功能
Feb 27 Javascript
React Native中的RefreshContorl下拉刷新使用
Oct 09 Javascript
javaScript中的空值和假值
Dec 18 Javascript
JS处理一些简单计算题
Feb 24 Javascript
vue注册组件的几种方式总结
Mar 08 Javascript
详解原生JS动态添加和删除类
Mar 26 Javascript
Vue触发隐藏input file的方法实例详解
Aug 14 Javascript
一篇文章让你搞懂JavaScript 原型和原型链
Nov 23 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
PHP5+UTF8多文件上传类
2008/10/17 PHP
PHP include任意文件或URL介绍
2014/04/29 PHP
PHP大批量插入数据库的3种方法和速度对比
2014/07/08 PHP
浅谈php错误提示及查错方法
2015/07/14 PHP
laravel5.2实现区分前后台用户登录的方法
2017/01/11 PHP
简单谈谈PHP面向对象之标识对象
2017/06/27 PHP
Prototype源码浅析 Enumerable部分之each方法
2012/01/16 Javascript
IE下双击checkbox反应延迟问题的解决方法
2014/03/27 Javascript
jquery 3D 标签云示例代码
2014/06/12 Javascript
返回顶部按钮响应滚动且动态显示与隐藏
2014/10/14 Javascript
JavaScript实现点击自动选择TextArea文本的方法
2015/07/02 Javascript
AngularJS中的Directive自定义一个表格
2016/01/25 Javascript
浅析Javascript中bind()方法的使用与实现
2016/05/30 Javascript
JS查找字符串中出现次数最多的字符
2016/09/05 Javascript
nodejs用gulp管理前端文件方法
2018/06/24 NodeJs
jQuery实现动态添加和删除input框代码实例
2019/03/29 jQuery
JS中超越现实的匿名函数用法实例分析
2019/06/21 Javascript
JSX在render函数中的应用详解
2019/09/04 Javascript
JavaScript 空间坐标的使用
2020/08/19 Javascript
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
详细解读Python中解析XML数据的方法
2015/10/15 Python
Python连接mysql数据库的正确姿势
2016/02/03 Python
Python for Informatics 第11章之正则表达式(四)
2016/04/21 Python
详解pyqt5 动画在QThread线程中无法运行问题
2018/05/05 Python
手把手教你如何安装Pycharm(详细图文教程)
2018/11/28 Python
Python decorator拦截器代码实例解析
2020/04/04 Python
关于box-sizing的全面理解
2016/07/28 HTML / CSS
canvas 橡皮筋式线条绘图应用方法
2019/02/13 HTML / CSS
python+selenium小米商城红米K40手机自动抢购的示例代码
2021/03/24 Python
业务员简历自我评价
2014/03/06 职场文书
社区党员志愿服务活动方案
2014/08/18 职场文书
重阳节慰问信
2015/02/15 职场文书
行政人事专员岗位职责
2015/04/07 职场文书
实习报告怎么写
2019/06/20 职场文书
2019银行员工个人工作自我鉴定
2019/06/27 职场文书
何时使用Map来代替普通的JS对象
2021/04/29 Javascript