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 相关文章推荐
js函数使用技巧之 setTimeout(function(){},0)
Feb 09 Javascript
js获取日期:昨天今天和明天、后天
Jun 11 Javascript
Node.js事件循环(Event Loop)和线程池详解
Jan 28 Javascript
基于Node.js的JavaScript项目构建工具gulp的使用教程
May 20 Javascript
jQuery中的通配符选择器使用总结
May 30 Javascript
js捕捉键盘事件和按键键值的方法
Oct 10 Javascript
js实现目录链接,内容跟着目录滚动显示的简单实例
Oct 15 Javascript
Angular.js实现注册系统的实例详解
Dec 18 Javascript
bootstrap输入框组使用方法
Feb 07 Javascript
JavaScript模板引擎实现原理实例详解
Dec 14 Javascript
jqGrid表格底部汇总、合计行footerrow处理
Aug 21 Javascript
JS实现单张或多张图片持续无缝滚动的示例代码
May 10 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
双料怀旧--SHARP GF515的维护、修理和简单调试
2021/03/02 无线电
php curl_init函数用法
2014/01/31 PHP
采用thinkphp自带方法生成静态html文件详解
2014/06/13 PHP
php获取远程文件的内容和大小
2015/11/03 PHP
php 判断页面或图片是否经过gzip压缩的方法
2017/04/05 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
jQuery仿Excel表格编辑功能的实现代码
2013/05/01 Javascript
上传图片预览JS脚本 Input file图片预览的实现示例
2014/10/23 Javascript
用jQuery向div中添加Html文本内容的简单实现
2016/07/13 Javascript
最常用的jQuery表单验证(简单)
2017/05/23 jQuery
jQuery Validate表单验证插件实现代码
2017/06/08 jQuery
iframe高度自适应及隐藏滚动条的实例详解
2017/09/29 Javascript
javascript 判断用户有没有操作页面
2017/10/17 Javascript
微信小程序实现下拉刷新和轮播图效果
2017/11/21 Javascript
Angular2使用vscode断点调试ts文件的方法
2017/12/13 Javascript
浅析Vue实例以及生命周期
2018/08/14 Javascript
vuex存值与取值的实例
2019/11/06 Javascript
vscode调试node.js的实现方法
2020/03/22 Javascript
vue 需求 data中的数据之间的调用操作
2020/08/05 Javascript
[08:40]Navi Vs Newbee
2018/06/07 DOTA
Python每天必学之bytes字节
2016/01/28 Python
浅谈Python NLP入门教程
2017/12/25 Python
基于scrapy的redis安装和配置方法
2018/06/13 Python
Python3使用turtle绘制超立方体图形示例
2018/06/19 Python
对django2.0 关联表的必填on_delete参数的含义解析
2019/08/09 Python
Python GUI学习之登录系统界面篇
2019/08/21 Python
canvas与html5实现视频截图功能示例
2016/12/15 HTML / CSS
《口技》教学反思
2014/02/21 职场文书
产品质量承诺范本
2014/03/31 职场文书
党的群众路线教育实践活动制度建设计划方案
2014/10/31 职场文书
大学生入党自荐书
2015/03/05 职场文书
宿舍管理制度范本
2015/08/07 职场文书
让文件路径提取变得更简单的Python Path库
2021/05/27 Python
解决SpringCloud Feign传对象参数调用失败的问题
2021/06/23 Java/Android
Python OpenCV超详细讲解调整大小与图像操作的实现
2022/04/02 Python
Python中npy和mat文件的保存与读取
2022/04/24 Python