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 相关文章推荐
JavaScript Cookie的读取和写入函数
Dec 08 Javascript
JS实现简单的键盘打字的效果
Apr 24 Javascript
JS模拟简易滚动条效果代码(附demo源码)
Apr 05 Javascript
Javascript的比较汇总
Jul 25 Javascript
javascript self对象使用详解
Oct 18 Javascript
通过扫描二维码打开app的实现代码
Nov 10 Javascript
Angualrjs和bootstrap相结合实现数据表格table
Mar 30 Javascript
Javascript中toFixed计算错误(依赖银行家舍入法的缺陷)解决方法
Aug 22 Javascript
Vue表单输入绑定的示例代码
Nov 01 Javascript
ES6 迭代器与可迭代对象的实现
Feb 11 Javascript
layui使用form表单实现post请求页面跳转的方法
Sep 14 Javascript
JavaScript进阶(一)变量声明提升实例分析
May 09 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
php数组函数序列之ksort()对数组的元素键名进行升序排序,保持索引关系
2011/11/02 PHP
PHP中使用mpdf 导出PDF文件的实现方法
2018/10/22 PHP
基于jQuery的图片剪切插件
2011/08/03 Javascript
基于SVG的web页面图形绘制API介绍及编程演示
2013/06/28 Javascript
Javascript 多浏览器兼容总结(实战经验)
2013/10/30 Javascript
JavaScript中的数值范围介绍
2014/12/29 Javascript
Express的路由详解
2015/12/10 Javascript
JavaScript表单验证开发
2016/11/23 Javascript
slideToggle+slideup实现手机端折叠菜单效果
2017/05/25 Javascript
Angular2 父子组件数据通信实例
2017/06/22 Javascript
Mint UI 基于 Vue.js 移动端组件库
2017/11/07 Javascript
微信小程序实现action-sheet弹出底部菜单功能【附源码下载】
2017/12/09 Javascript
Vue v2.4中新增的$attrs及$listeners属性使用教程
2018/01/08 Javascript
vue动画之点击按钮往上渐渐显示出来的实例
2018/09/29 Javascript
利用Vue-draggable组件实现Vue项目中表格内容的拖拽排序
2019/06/07 Javascript
vue-quill-editor 自定义工具栏和自定义图片上传路径操作
2020/08/03 Javascript
[03:31]DOTA2英雄基础教程 大地之灵
2013/12/17 DOTA
Python中replace方法实例分析
2014/08/20 Python
python使用datetime模块计算各种时间间隔的方法
2015/03/24 Python
使用Python的Django框架结合jQuery实现AJAX购物车页面
2016/04/11 Python
详解Python中最难理解的点-装饰器
2017/04/03 Python
Python探索之URL Dispatcher实例详解
2017/10/28 Python
在python下读取并展示raw格式的图片实例
2019/01/24 Python
Python 利用切片从列表中取出一部分使用的方法
2019/02/01 Python
Django为窗体加上防机器人的验证码功能过程解析
2019/08/14 Python
python+selenium+chromedriver实现爬虫示例代码
2020/04/10 Python
python实现简单的五子棋游戏
2020/09/01 Python
python使用selenium爬虫知乎的方法示例
2020/10/28 Python
canvas实现二维码和图片合成的示例代码
2018/08/01 HTML / CSS
计算机大学生的自我评价
2013/10/15 职场文书
本科毕业生专业自荐书范文
2014/02/05 职场文书
《锄禾》教学反思
2014/04/08 职场文书
党员群众路线学习心得体会
2014/11/04 职场文书
未来,这5大方向都很适合创业
2019/07/22 职场文书
剑指Offer之Java算法习题精讲二叉树专项训练
2022/03/21 Java/Android