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中2个等号与3个等号的区别
Aug 06 Javascript
JavaScript原型链示例分享
Jan 26 Javascript
jQuery过滤选择器用法分析
Feb 10 Javascript
浅析javascript中的DOM
Mar 01 Javascript
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例
Jun 03 Javascript
etmvc+jQuery EasyUI+combobox多值操作实现角色授权实例
Nov 09 Javascript
JavaScript之cookie技术详解
Nov 18 Javascript
js 中文汉字转Unicode、Unicode转中文汉字、ASCII转换Unicode、Unicode转换ASCII、中文转换
Dec 06 Javascript
在React中如何优雅的处理事件响应详解
Jul 24 Javascript
Angular在模板驱动表单中自定义校验器的方法
Aug 09 Javascript
JS逻辑运算符短路操作实例分析
Jul 09 Javascript
微信sdk实现禁止微信分享(使用原生php实现)
Nov 15 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
php增删改查示例自己写的demo
2013/09/04 PHP
PHP中对缓冲区的控制实现代码
2013/09/29 PHP
调整PHP的性能
2013/10/30 PHP
PHP遍历数组的方法汇总
2015/04/30 PHP
PHP中trait使用方法详细介绍
2017/05/21 PHP
JavaScript 监听textarea中按键事件
2009/10/08 Javascript
使用jQuery模板来展现json数据的代码
2010/10/22 Javascript
javascript字符串与数组转换汇总
2015/05/26 Javascript
jQuery绑定自定义事件的魔法升级版
2016/06/30 Javascript
js判断checkbox是否选中个数的方法(超简单)
2016/08/19 Javascript
Bootstrap框架结合jQuery仿百度换肤功能实例解析
2016/09/17 Javascript
JavaScript之cookie技术详解
2016/11/18 Javascript
Bootstrap和Java分页实例第二篇
2016/12/23 Javascript
JavaScript之面向对象_动力节点Java学院整理
2017/06/29 Javascript
javascript函数的节流[throttle]与防抖[debounce]
2017/11/15 Javascript
基于vue.js中关于下拉框的值默认及绑定问题
2018/08/22 Javascript
js实现简单模态框实例
2018/11/16 Javascript
vue - vue.config.js中devServer配置方式
2019/10/30 Javascript
node.js中path路径模块的使用方法实例分析
2020/02/13 Javascript
[07:48]DOTA2上海特级锦标赛主赛事首日RECAP
2016/03/04 DOTA
python通过百度地图API获取某地址的经纬度详解
2018/01/28 Python
python利用smtplib实现QQ邮箱发送邮件
2020/05/20 Python
Python DataFrame.groupby()聚合函数,分组级运算
2018/09/18 Python
pandas使用apply多列生成一列数据的实例
2018/11/28 Python
Python concurrent.futures模块使用实例
2019/12/24 Python
Python3打包exe代码2种方法实例解析
2020/02/17 Python
python获得命令行输入的参数的两种方式
2020/11/02 Python
Html5 postMessage实现跨域消息传递
2016/03/11 HTML / CSS
纽约现代艺术博物馆商店:MoMA STORE(室内家具和杂货商品)
2016/08/02 全球购物
施华洛世奇波兰官网:SWAROVSKI波兰
2019/06/18 全球购物
与UNIX有关的几个名词
2015/09/17 面试题
市级优秀班主任事迹材料
2014/05/13 职场文书
走进科学观后感
2015/06/18 职场文书
2016中秋晚会开幕词
2016/03/03 职场文书
python中os.path.join()函数实例用法
2021/05/26 Python
Java获取e.printStackTrace()打印的信息方式
2021/08/07 Java/Android