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 相关文章推荐
超级强大的表单验证
Jun 26 Javascript
用Js实现的动态增加表格示例自己写的
Oct 21 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
Sep 26 Javascript
js实现交换运动效果的方法
Apr 10 Javascript
基于JavaScript实现TAB标签效果
Jan 12 Javascript
AngularJS  双向数据绑定详解简单实例
Oct 20 Javascript
DWR3 访问WEB元素的两种方法实例详解
Jan 03 Javascript
JavaScript使用原型和原型链实现对象继承的方法详解
Apr 05 Javascript
JS/HTML5游戏常用算法之路径搜索算法 A*寻路算法完整实例
Dec 14 Javascript
JS实现的贪吃蛇游戏完整实例
Jan 18 Javascript
详解微信小程序图片地扯转base64解决方案
Aug 18 Javascript
用Javascript实现发送短信验证码间隔功能
Feb 08 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 split汉字
2009/06/05 PHP
PHP 处理图片的类实现代码
2009/10/23 PHP
在WINDOWS中设置计划任务执行PHP文件的方法
2011/12/19 PHP
关于扩展 Laravel 默认 Session 中间件导致的 Session 写入失效问题分析
2016/01/08 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
2016/07/13 PHP
Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法
2016/11/03 PHP
浅谈Laravel POST,PUT,PATCH 路由的区别
2019/10/15 PHP
利用JQuery的load函数动态加载其它页面的内容的实现代码
2010/12/14 Javascript
SinaEditor使用方法详解
2013/12/28 Javascript
减少访问DOM的次数提升javascript性能
2014/02/24 Javascript
JavaScript检测弹出窗口是否已经关闭的方法
2015/03/24 Javascript
jquery性能优化高级技巧
2015/08/24 Javascript
6种javascript显示当前系统时间代码
2015/12/01 Javascript
深入浅析JavaScript中数据共享和数据传递
2016/04/25 Javascript
Javascript中click与blur事件的顺序详析
2017/04/25 Javascript
用javascript获取任意颜色的更亮或更暗颜色值示例代码
2017/07/21 Javascript
js实现树形数据转成扁平数据的方法示例
2020/02/27 Javascript
javascript实现计算器功能
2020/03/30 Javascript
JavaScript实现移动端拖动元素
2020/11/24 Javascript
JS+JQuery实现无缝连接轮播图
2020/12/30 jQuery
python使用Berkeley DB数据库实例
2014/09/26 Python
使用Protocol Buffers的C语言拓展提速Python程序的示例
2015/04/16 Python
python中sleep函数用法实例分析
2015/04/29 Python
python字符串替换第一个字符串的方法
2019/06/26 Python
在PyCharm中遇到pip安装 失败问题及解决方案(pip失效时的解决方案)
2020/03/10 Python
使用CSS3实现多列布局与多背景的技巧
2016/02/29 HTML / CSS
华美博弈C/VC工程师笔试试题
2012/07/16 面试题
人力资源管理专业毕业生推荐信
2013/11/07 职场文书
公司业务主管岗位职责
2013/12/07 职场文书
学校出纳员岗位职责
2014/03/18 职场文书
企业党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
大学生万能检讨书范例
2014/10/04 职场文书
2015年班组工作总结
2015/04/20 职场文书
成本低的5个创业项目:投资小、赚钱快
2019/08/20 职场文书
利用python实时刷新基金估值(摸鱼小工具)
2021/09/15 Python
Python实现批量自动整理文件
2022/03/16 Python