Javascript 正则表达式实现为数字添加千位分隔符


Posted in Javascript onMarch 10, 2015

最近在网上有看到使用js来实现数字的千位分隔符的面试(笔试)题,所以就自己写了一个利用“正则+replace”来实现的方法:  

 var thousandBitSeparator = function(numStr){

     var b = /([-+]?\d{3})(?=\d)/g;

     return numStr.replace(b, function($0, $1){

         return $1 + ',';

     });

 }

支持正负号匹配,小数点区分,如有错误,希望大大们指出:-D

附上一个其他网友的实现方法

<script language="JavaScript" type="text/javascript">  

function formatNumber(num){  

 if(!/^(\+|-)?(\d+)(\.\d+)?$/.test(num)){  

  return num;  

 }  

 var a = RegExp.$1,b = RegExp.$2,c = RegExp.$3;  

 var re = new RegExp().compile("(\\d)(\\d{3})(,|$)");  

 while(re.test(b)){  

  b = b.replace(re,"$1,$2$3");  

 }  

 return a +""+ b +""+ c;  

}  

var num=1234567/3;  

alert("num="+num+",四舍五入:"+Math.round(num)+",两位有效数字:"+num.toFixed(2)+",添加千位分隔符:"+formatNumber(num));  

</script> 

以上就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
js form 验证函数 当前比较流行的错误提示
Jun 23 Javascript
url 特殊字符 传递参数解决方法
Jan 01 Javascript
JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述
Apr 15 Javascript
jQuery中remove()方法用法实例
Dec 25 Javascript
Javascript数组Array方法解读
Mar 13 Javascript
基于BootStrap Metronic开发框架经验小结【三】下拉列表Select2插件的使用
May 12 Javascript
jquery submit()不能提交表单的解决方法
Apr 24 jQuery
vue组件生命周期详解
Nov 07 Javascript
angularJs-$http实现百度搜索时的动态下拉框示例
Feb 27 Javascript
微信小程序如何刷新当前界面的实现方法
Jun 07 Javascript
微信小程序 高德地图路线规划实现过程详解
Aug 05 Javascript
解决vue项目中出现Invalid Host header的问题
Nov 17 Javascript
jquery+easeing实现仿flash的载入动画
Mar 10 #Javascript
javascript判断css3动画结束 css3动画结束的回调函数
Mar 10 #Javascript
jQuery实现表格颜色交替显示的方法
Mar 09 #Javascript
jQuery实现个性翻牌效果导航菜单的方法
Mar 09 #Javascript
jQuery实现可用于博客的动态滑动菜单
Mar 09 #Javascript
JQuery操作元素的css样式
Mar 09 #Javascript
jQuery实现仿美橙互联两级导航菜单的方法
Mar 09 #Javascript
You might like
四个PHP非常实用的功能
2015/09/29 PHP
php字符集转换
2017/01/23 PHP
TP3.2框架分页相关实现方法分析
2020/06/03 PHP
List the Codec Files on a Computer
2007/06/11 Javascript
JavaScript中的style.cssText使用教程
2014/11/06 Javascript
浅谈JavaScript function函数种类
2014/12/29 Javascript
JS基于FileSystemObject创建一个指定路径的TXT文本文件
2015/08/05 Javascript
Webpack 实现 AngularJS 的延迟加载
2016/03/02 Javascript
微信小程序 自己制作小组件实例详解
2016/12/22 Javascript
JavaScript实现弹出广告功能
2017/03/30 Javascript
关于javascript获取内联样式与嵌入式样式的实例
2017/06/01 Javascript
Javascript快速实现浏览器系统通知
2017/08/26 Javascript
jQuery实现滚动到底部时自动加载更多的方法示例
2018/02/18 jQuery
node thread.sleep实现示例
2018/06/20 Javascript
javacript replace 正则取字符串中的值并替换【推荐】
2018/09/13 Javascript
使用vue实现各类弹出框组件
2019/07/03 Javascript
vue根据条件不同显示不同按钮的操作
2020/08/04 Javascript
[08:07]DOTA2每周TOP10 精彩击杀集锦vol.8
2014/06/25 DOTA
[46:27]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#2LGD VS MVP.Phx第一局
2016/03/02 DOTA
Python面向对象编程中的类和对象学习教程
2015/03/30 Python
Python给你的头像加上圣诞帽
2018/01/04 Python
python 处理数字,把大于上限的数字置零实现方法
2019/01/28 Python
Django uwsgi Nginx 的生产环境部署详解
2019/02/02 Python
python+openCV利用摄像头实现人员活动检测
2019/06/22 Python
pandas如何处理缺失值
2019/07/31 Python
python多线程爬取西刺代理的示例代码
2021/01/30 Python
pandas apply使用多列计算生成新的列实现示例
2021/02/24 Python
BrandAlley英国:法国折扣奢侈品网上零售商
2017/07/03 全球购物
物流经理自我评价
2013/09/23 职场文书
中学实习教师自我鉴定
2013/12/12 职场文书
会计系个人求职信范文分享
2013/12/20 职场文书
学习决心书范文
2014/03/11 职场文书
排查整治工作方案
2014/06/09 职场文书
死亡赔偿协议书
2015/01/28 职场文书
Pytorch实现图像识别之数字识别(附详细注释)
2021/05/11 Python
js实现自动锁屏功能
2021/06/02 Javascript