angular 实现的输入框数字千分位及保留几位小数点功能示例

 更新时间:2018年06月19日 12:22:04   作者:右耳511  
这篇文章主要介绍了angular 实现的输入框数字千分位及保留几位小数点功能,涉及AngularJS数值运算、正则匹配等相关操作技巧,需要的朋友可以参考下

本文实例讲述了angular 实现的输入框数字千分位及保留几位小数点功能。分享给大家供大家参考,具体如下:

网上查到一个关于千分位的指令,我稍微做了点完善,通用指令代码

myApp.directive('price', function($parse) {
 return {
  link: function (scope, element, attrs, ctrl) {
    //控制输入框只能输入数字和小数点
    function limit(){
      var limitV=element[0].value;
      limitV=limitV.replace(/[^0-9.]/g,"");
      //处理0开头的整数
      if ((/^0+[0-9]+$/).test(limitV)) {
        limitV=limitV.replace(/\b(0+)/gi,"");
      }
      //限定小数点后的位数
      var digits = attrs['digits']?Number(attrs['digits']):2;
      if (limitV*Math.pow(10,digits)%1!=0) {
        var index = limitV.indexOf('.');
        var last = index+digits+1;
        limitV = (""+limitV).substring(0,last);
      }
      element[0].value=limitV;
      $parse(attrs['ngModel']).assign(scope, limitV);
      format();
    }
    //对输入数字的整数部分插入千位分隔符
    function format(){
      var formatV=element[0].value;
      var array=new Array();
      array=formatV.split(".");
      var re=/(-?\d+)(\d{3})/;
      while(re.test(array[0])){
        array[0]=array[0].replace(re,"$1,$2")
      }
      var returnV=array[0];
      for(var i=1;i<array.length;i++){
        returnV+="."+array[i];
      }
      element[0].value=returnV;
      $parse(attrs['ngModel']).assign(scope, formatV);
    }
    scope.$watch(attrs.ngModel,function(){
      limit();
    })
  }
 };
})

html代码的引用,digits传的是小数点后保留几位,默认不传保留2位

<input ng-model="money" price digits="1"/>

PS:这里再为大家推荐几款在线计算工具供大家参考使用:

在线投资理财计算器:
http://tools.jb51.net/jisuanqi/touzilicai_calc

在线存款计算器:
http://tools.jb51.net/jisuanqi/cunkuan_calc

科学计算器在线使用_高级计算器在线计算:
http://tools.jb51.net/jisuanqi/jsqkexue

在线计算器_标准计算器:
http://tools.jb51.net/jisuanqi/jsq

更多关于AngularJS相关内容感兴趣的读者可查看本站专题:《AngularJS指令操作技巧总结》、《AngularJS入门与进阶教程》及《AngularJS MVC架构总结

希望本文所述对大家AngularJS程序设计有所帮助。

相关文章

  • AngularJS中watch监听用法分析

    AngularJS中watch监听用法分析

    这篇文章主要介绍了AngularJS中watch监听用法,较为详细的分析了$watch的具体功能、相关参数用法与使用注意事项,需要的朋友可以参考下
    2016-11-11
  • Angular.js与node.js项目里用cookie校验账户登录详解

    Angular.js与node.js项目里用cookie校验账户登录详解

    这篇文章主要介绍了Angular.js与node.js项目里用cookie校验账户登录的相关资料,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-02-02
  • angular 实现的输入框数字千分位及保留几位小数点功能示例

    angular 实现的输入框数字千分位及保留几位小数点功能示例

    这篇文章主要介绍了angular 实现的输入框数字千分位及保留几位小数点功能,涉及AngularJS数值运算、正则匹配等相关操作技巧,需要的朋友可以参考下
    2018-06-06
  • 解决angularjs前后端分离调用接口传递中文时中文乱码的问题

    解决angularjs前后端分离调用接口传递中文时中文乱码的问题

    今天小编就为大家分享一篇解决angularjs前后端分离调用接口传递中文时中文乱码的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • AngularJs中$cookies简单用法分析

    AngularJs中$cookies简单用法分析

    这篇文章主要介绍了AngularJs中$cookies简单用法,结合实例形式分析了AngularJS使用$cookies存储变量相关操作技巧与注意事项,需要的朋友可以参考下
    2019-05-05
  • 详解Angular2中的编程对象Observable

    详解Angular2中的编程对象Observable

    大家都是在Reactive Extensions for Javascript诞生于几年前,随着angular2正式版的发布,它将会被更多开发者所认知。这篇文章我们来详细介绍RxJs提供的Observable对象,有需要的朋友们可以参考借鉴。
    2016-09-09
  • AngularJS入门教程之ng-checked 指令详解

    AngularJS入门教程之ng-checked 指令详解

    本文主要讲解AngularJS ng-checked 指令,在这整理ng-checked 指令的基础知识,并附代码实例,有需要的小伙伴可以参考下
    2016-08-08
  • Angular实现的简单定时器功能示例

    Angular实现的简单定时器功能示例

    这篇文章主要介绍了Angular实现的简单定时器功能,结合实例形式分析了AngularJS定时器功能的简单实现与使用技巧,需要的朋友可以参考下
    2017-12-12
  • AngularJs表单校验功能实例代码

    AngularJs表单校验功能实例代码

    这篇文章主要介绍了AngularJs表单校验功能实例代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-02-02
  • AngularJS中run方法的巧妙运用

    AngularJS中run方法的巧妙运用

    前端技术的发展是如此之快,各种优秀技术、优秀框架的出现简直让人目不暇接,紧跟时代潮流,学习掌握新知识自然是不敢怠慢。下面这篇文章主要给大家介绍了AngularJS中run方法的巧妙运用,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-01-01

最新评论