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 相关文章推荐
JSON语法五大要素图文介绍
Dec 04 Javascript
javascript发送短信验证码实现代码
Nov 12 Javascript
JS函数的定义与调用方法推荐
May 12 Javascript
JQuery Mobile 弹出式登录框的实现方法
May 28 Javascript
jQuery+CSS3实现仿花瓣网固定顶部位置带悬浮效果的导航菜单
Sep 21 Javascript
jquery easyui validatebox remote的使用详解
Nov 09 Javascript
vue里面v-bind和Props 利用props绑定动态数据的方法
Aug 27 Javascript
React事件处理的机制及原理
Dec 03 Javascript
vue实现鼠标移入移出事件代码实例
Mar 27 Javascript
原生js+css调节音量滑块
Jan 15 Javascript
浅析TypeScript 命名空间
Mar 19 Javascript
js实现自动锁屏功能
Jun 02 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各种编码集详解和以及在什么情况下进行使用
2011/09/11 PHP
php中防止SQL注入的最佳解决方法
2013/04/25 PHP
php strnatcmp()函数的用法总结
2013/11/27 PHP
ThinkPHP实现事务回滚示例代码
2014/06/23 PHP
捕获浏览器关闭、刷新事件不同情况下的处理方法
2013/06/02 Javascript
js操作iframe兼容各种主流浏览器示例代码
2013/07/22 Javascript
用JavaScript实现PHP的urlencode与urldecode函数
2015/08/13 Javascript
轮播图组件js代码
2016/08/08 Javascript
详解Node.js:events事件模块
2016/11/24 Javascript
详解JS去重及字符串奇数位小写转大写
2016/12/29 Javascript
jQuery实现腾讯信用界面(自制刻度尺)样式
2017/08/15 jQuery
vue.js整合mint-ui里的轮播图实例代码
2017/12/27 Javascript
vue中的自定义分页插件组件的示例
2018/08/18 Javascript
node.js 基于cheerio的爬虫工具的实现(需要登录权限的爬虫工具)
2019/04/10 Javascript
微信小程序 子级页面返回父级并把子级参数带回父级实现方法
2019/08/22 Javascript
javascript运行机制之执行顺序理解
2020/08/03 Javascript
教你如何将 Sublime 3 打造成 Python/Django IDE开发利器
2014/07/04 Python
跟老齐学Python之使用Python操作数据库(1)
2014/11/25 Python
Python常用算法学习基础教程
2017/04/13 Python
python绘制热力图heatmap
2020/03/23 Python
Django Haystack 全文检索与关键词高亮的实现
2020/02/17 Python
利用Python实现学生信息管理系统的完整实例
2020/12/30 Python
法国家具及室内配件店:home24
2017/01/21 全球购物
Piercing Pagoda官网:耳环、戒指、项链、手链等
2020/09/28 全球购物
银行存款证明样本
2014/01/17 职场文书
教师绩效考核方案
2014/01/21 职场文书
大专应届毕业生求职信
2014/07/15 职场文书
建筑工程技术专业求职信
2014/07/16 职场文书
九一八事变演讲稿范文
2014/09/14 职场文书
干部职工纪律作风整改措施思想汇报
2014/10/11 职场文书
2015年党员自评材料
2014/12/17 职场文书
《圆的周长》教学反思
2016/02/17 职场文书
linux下导入、导出mysql数据库命令的实现方法
2021/05/26 MySQL
Python排序算法之插入排序及其优化方案详解
2021/06/11 Python
vue数据字典取键值项目的字典问题
2022/04/12 Vue.js
Java由浅入深通关抽象类与接口(上篇)
2022/04/26 Java/Android