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 hasOwnProperty 方法 &amp; in 关键字
Nov 26 Javascript
jquerymobile checkbox及时刷新才能获取其准确值
Apr 14 Javascript
JavaScript SetInterval与setTimeout使用方法详解
Nov 15 Javascript
JS使用for循环遍历Table的所有单元格内容
Aug 21 Javascript
JavaScript简单表格编辑功能实现方法
Apr 16 Javascript
jQuery基于扩展简单实现倒计时功能的方法
May 14 Javascript
9种改善AngularJS性能的方法
Nov 28 Javascript
vue数据传递--我有特殊的实现技巧
Mar 20 Javascript
微信小程序实现手指触摸画板
Jul 09 Javascript
详解Require.js与Sea.js的区别
Aug 05 Javascript
vue.js表单验证插件(vee-validate)的使用教程详解
May 23 Javascript
详解基于element的区间选择组件校验(交易金额)
Jan 07 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
学习使用curl采集curl使用方法
2012/01/11 PHP
php代码书写习惯优化小结
2013/06/20 PHP
PHP中foreach()用法汇总
2015/07/02 PHP
PHP控制前台弹出对话框的实现方法
2016/08/21 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
2016/09/26 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
调用js时ie6和ie7,ff的区别
2009/08/19 Javascript
解析JavaScript中的不可见数据类型
2013/12/02 Javascript
JavaScript中的prototype和constructor简明总结
2014/04/05 Javascript
jQuery简单实现iframe的高度根据页面内容自适应的方法
2016/08/01 Javascript
JS简单去除数组中重复项的方法
2016/09/13 Javascript
Javascript使用uploadify来实现多文件上传
2016/11/16 Javascript
JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
2017/01/05 Javascript
Bootstrap Table使用整理(五)之分页组合查询
2017/06/09 Javascript
js实现日期显示的一些操作(实例讲解)
2017/07/27 Javascript
vue调试工具vue-devtools安装及使用方法
2018/11/07 Javascript
node.js实现微信开发之获取用户授权
2019/03/18 Javascript
基于VUE的v-charts的曲线显示功能
2019/10/01 Javascript
实现一个Vue自定义指令懒加载的方法示例
2020/06/04 Javascript
python实现监控windows服务并自动启动服务示例
2014/04/17 Python
通过数据库向Django模型添加字段的示例
2015/07/21 Python
Python对list列表结构中的值进行去重的方法总结
2016/05/07 Python
Python中使用platform模块获取系统信息的用法教程
2016/07/08 Python
Linux下python制作名片示例
2018/07/20 Python
python Shapely使用指南详解
2020/02/18 Python
css3实现信纸/同学录效果的示例代码
2018/12/11 HTML / CSS
详解HTML5 Canvas绘制不规则图形时的非零环绕原则
2016/03/21 HTML / CSS
HTML5 文件域+FileReader 分段读取文件并上传到服务器
2017/10/23 HTML / CSS
THE OUTNET英国官网:国际设计师品牌折扣网站
2016/08/14 全球购物
班主任对学生的评语
2014/04/26 职场文书
2014年租房协议书范本
2014/10/30 职场文书
中秋节晚会开场白
2015/05/29 职场文书
党员转正大会主持词
2015/07/02 职场文书
vue3中provide && inject的使用
2021/07/01 Vue.js
CSS font-variation 可变字体的魅力(实例详解)
2022/03/03 HTML / CSS
python双向链表实例详解
2022/05/25 Python