JavaScript校验Number(4,1)格式的数字实例代码


Posted in Javascript onMarch 13, 2017

项目里面有个录入,需要数字格式进行校验,前端使用的是miniUI框架,miniUI文档里面自带了校验,vtype="float",校验浮点数的,但是它不能做到校验这个浮点数有几位整数和几位小数,所以就有必要重写写一个js函数来校验:

实现思路:

1.获取所填写的值

2.判断是否为空,不为空执行3

3.对字符串trim()去空格,并且判断以”.”开始或者结尾的都不是合法的数字,给出提示。

4.提前判断字符串是否是true或者false,因为下面要使用Number函数,它可以把true和false转为1和0,所以需要在使用之前作判断,如果字符串是这个则给出提示

5.对字符串使用Number函数转型为数字,如果转型后的值为0,说明原来的字符串为空;如果转型后的数字为NaN,说明原来的字符串不是纯数字字符串。都给出相应提示,如果是纯数字字符串则执行6

6.将转型后的数值转为String类型,先判断数值的长度是否合法,不合法给出提示,合法执行7

7.判断数值的整数位是否符合Number类型所定义的,大于最小值小于等于最大值,如果合法执行8,不合法给出提示;

8,判断小数位,利用substring()函数,如果合法则return true;反之则给出相应的错误提示。

实现代码:     

//校验number(4,1)
  function check(v){
   var str = mini.get(v).getValue();
   //非空
   if(str!=null && str.length>0){
    str = str.trim();//去掉空格
    if(str.substring(0,1)=="." || str.substring(str.length-1)=="."){
     mini.alert("请输入有效的数值");
     return false;
    }
    //排除Boolean值
    if(str==true||str==false){
     mini.alert("请输入合法的数值");
     return false;
    }else {
     var num = Number(str);//将字符串转为数字类型
     if(num == 0){//输入的字符串为空
      mini.alert("请输入合法的值");
      return false;
     }else if(isNaN(num)==true){//输入的为非数字型字符串
      mini.alert("请输入合法的值");
      return false;
     }else {//纯数字字符
      num = num.toString();
      var numLenth = num.length;
      if (numLenth >5) {
       mini.alert("数值超过有效长度");
       return false;
      }else{//有效数字
       var pointIndex = num.indexOf(".");
       if (num.substring(0,pointIndex).length>3 || num.substring(0,pointIndex).length<=0) {//整数部分必须在1-3位数字
        mini.alert("整数部分有效数字长度超过有效范围");
        return false;
       }else if(pointIndex>0){//判断小数部分
        if(num.substring(pointIndex).length>2 ||(num.substring(pointIndex).length==1)){
         mini.alert("小数部分不是有效的");
         return false;
        }
       }
      }
     }
    }
   }
   return true;
  }

以上所述是小编给大家介绍的JavaScript校验Number(4,1)格式的数字实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jquery png 透明解决方案(推荐)
Aug 21 Javascript
JavaScript高级程序设计 XML、Ajax 学习笔记
Sep 10 Javascript
JavaScript执行顺序详细介绍
Dec 04 Javascript
javascript实现复选框超过限制即弹出警告框的方法
Feb 25 Javascript
js验证真实姓名与身份证号是否匹配
Oct 13 Javascript
微信小程序 选择器(时间,日期,地区)实例详解
Nov 16 Javascript
JavaScript获取键盘按键的键码(参照表)
Jan 10 Javascript
Javascript中return的使用与闭包详解
Jan 11 Javascript
基于node.js express mvc轻量级框架实践
Sep 14 Javascript
Angular2使用vscode断点调试ts文件的方法
Dec 13 Javascript
解决Linux无法正常安装与卸载Node.js的方法
Jan 19 Javascript
详解vue指令与$nextTick 操作DOM的不同之处
Aug 02 Javascript
Bootstrap笔记—折叠实例代码
Mar 13 #Javascript
jquery插件ContextMenu设置右键菜单
Mar 13 #Javascript
jQuery实现表格奇偶行显示不同背景色 就这么简单
Mar 13 #Javascript
轻松实现jQuery添加删除按钮Click事件
Mar 13 #Javascript
jQuery+CSS3实现点赞功能
Mar 13 #Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
Mar 13 #Javascript
分享一个精简的vue.js 图片lazyload插件实例
Mar 13 #Javascript
You might like
关于PHP堆栈与列队的学习
2013/06/21 PHP
php实现mysql备份恢复分卷处理的方法
2014/12/26 PHP
php实现递归与无限分类的方法
2015/02/16 PHP
PHP实现linux命令tail -f
2016/02/22 PHP
PHP中file_exists使用中遇到的问题小结
2016/04/05 PHP
Joomla数据库操作之JFactory::getDBO用法
2016/05/05 PHP
json格式化/压缩工具 Chrome插件扩展版
2010/05/25 Javascript
js 全兼容可高亮二级缓冲折叠菜单
2010/06/04 Javascript
jQuery 源码分析笔记(6) jQuery.data
2011/06/08 Javascript
js绘制圆形和矩形的方法
2015/08/05 Javascript
Bootstarp 基础教程之表单部分实例代码
2017/02/03 Javascript
浅谈Vue.js中如何实现自定义下拉菜单指令
2019/01/06 Javascript
微信小程序实现吸顶效果
2020/01/08 Javascript
element el-table表格的二次封装实现(附表格高度自适应)
2021/01/19 Javascript
[04:04]显微镜下的DOTA2第六期——电影级别的华丽团战
2014/06/20 DOTA
Python CSV模块使用实例
2015/04/09 Python
Python中Threading用法详解
2017/12/27 Python
PyQt5下拉式复选框QComboCheckBox的实例
2019/06/25 Python
关于python中密码加盐的学习体会小结
2019/07/15 Python
python可视化篇之流式数据监控的实现
2019/08/07 Python
python ftplib模块使用代码实例
2019/12/31 Python
python数据预处理方式 :数据降维
2020/02/24 Python
基于Tensorflow一维卷积用法详解
2020/05/22 Python
基于Python绘制美观动态圆环图、饼图
2020/06/03 Python
如何在python中实现线性回归
2020/08/10 Python
体育专业学生自我评价范文
2014/01/17 职场文书
银行员工职业规划范文
2014/01/21 职场文书
学生会竞选演讲稿学习部
2014/08/25 职场文书
自我检讨书范文
2015/01/28 职场文书
学雷锋感言
2015/08/03 职场文书
500字作文之关于爸爸
2019/11/14 职场文书
Html5页面播放M4a音频文件
2021/03/30 HTML / CSS
教你用python实现12306余票查询
2021/06/30 Python
详细介绍python操作RabbitMq
2022/04/12 Python
MySQL创建管理子分区
2022/04/13 MySQL
Tomcat配置访问日志和线程数
2022/05/06 Servers