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 相关文章推荐
用javascript将数据库中的TEXT类型数据动态赋值到TEXTAREA中
Apr 20 Javascript
javascript removeChild 使用注意事项
Apr 11 Javascript
JavaScript 学习笔记(十二) dom
Jan 21 Javascript
jquery1.5.1中根据元素ID获取元素对象的代码
Apr 02 Javascript
jQuery筛选器children()案例详解(图文)
Feb 17 Javascript
基于javascript、ajax、memcache和PHP实现的简易在线聊天室
Feb 03 Javascript
自己动手写的javascript前端等待控件
Oct 30 Javascript
ES6正则的扩展实例详解
Apr 25 Javascript
JavaScript中的return布尔值的用法和原理解析
Aug 14 Javascript
vue-cli结合Element-ui基于cropper.js封装vue实现图片裁剪组件功能
Mar 01 Javascript
JavaScript展开操作符(Spread operator)详解
Jul 20 Javascript
es6中class类静态方法,静态属性,实例属性,实例方法的理解与应用分析
Feb 15 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具体实现代码
2010/10/12 PHP
利用php生成验证码
2017/02/23 PHP
jquery checkbox,radio是否选中的判断代码
2010/03/20 Javascript
JS DOM 操作实现代码
2010/08/01 Javascript
jquery.cvtooltip.js 基于jquery的气泡提示插件
2010/11/19 Javascript
JS中 用户登录系统的解决办法
2013/04/15 Javascript
HTML5之lang属性与dir属性的详解
2013/06/19 Javascript
给js文件传参数(详解)
2014/07/13 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
2015/03/18 Javascript
js实现iPhone界面风格的单选框和复选框按钮实例
2015/08/18 Javascript
原生JS轮播图插件
2017/02/09 Javascript
javascript中BOM基础知识总结
2017/02/14 Javascript
js评分组件使用详解
2017/06/06 Javascript
微信小程序调用PHP后台接口 解析纯html文本
2017/06/13 Javascript
浅谈mint-ui 填坑之路
2017/11/06 Javascript
JS实现简单的浮动碰撞效果示例
2017/12/28 Javascript
ES6 Generator基本使用方法示例
2020/06/06 Javascript
[01:12](回顾)DOTA2国际邀请赛,全世界DOTAer的盛宴
2014/07/01 DOTA
[01:27]DOTA2电竞之夜 今夜共饮庆功酒
2014/08/02 DOTA
[01:02:53]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第二局
2016/03/06 DOTA
[01:00:10]完美世界DOTA2联赛PWL S2 FTD vs Inki 第二场 11.21
2020/11/24 DOTA
[01:33:25]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第一场 1月24日
2021/03/11 DOTA
Python实现一个转存纯真IP数据库的脚本分享
2017/05/21 Python
如何在python中使用selenium的示例
2017/12/26 Python
python numpy 部分排序 寻找最大的前几个数的方法
2018/06/27 Python
python 导入数据及作图的实现
2019/12/03 Python
Python turtle库的画笔控制说明
2020/06/28 Python
详解如何通过H5(浏览器/WebView/其他)唤起本地app
2017/12/11 HTML / CSS
PHP面试题及答案二
2015/05/23 面试题
JAVA代码查错题
2014/10/10 面试题
党委班子对照检查材料
2014/08/19 职场文书
党员对照检查材料思想汇报(党的群众路线)
2014/09/24 职场文书
办公室主任岗位职责
2015/01/31 职场文书
律政俏佳人观后感
2015/06/09 职场文书
2016教师党员学习心得体会
2016/01/21 职场文书
深入解读Java三大集合之map list set的用法
2021/11/11 Java/Android