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 相关文章推荐
jQuery队列控制方法详解queue()/dequeue()/clearQueue()
Dec 02 Javascript
js中typeof的用法汇总
Dec 12 Javascript
使用js判断TextBox控件值改变然后出发事件
Mar 07 Javascript
JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
Sep 24 Javascript
jQueryUI Datepicker组件设置日期高亮
Oct 13 Javascript
详解mpvue开发小程序小总结
Jul 25 Javascript
改变layer confirm弹窗按钮的颜色方法
Sep 12 Javascript
中级前端工程师必须要掌握的27个JavaScript 技巧(干货总结)
Sep 23 Javascript
js get和post请求实现代码解析
Feb 06 Javascript
vue props default Array或是Object的正确写法说明
Jul 30 Javascript
VUE中V-IF条件判断改变元素的样式操作
Aug 09 Javascript
Javascript中async与await的捕捉错误详解
Mar 03 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和XSS跨站攻击的防范
2007/04/17 PHP
php split汉字
2009/06/05 PHP
php+layui数据表格实现数据分页渲染代码
2019/10/26 PHP
点击广告后才能获得下载地址
2006/10/26 Javascript
Extjs4 GridPanel 的几种样式使用介绍
2013/04/18 Javascript
处理及遍历XML文档DOM元素属性及方法整理
2013/08/23 Javascript
javascript解析json实例详解
2014/11/05 Javascript
AngularJS入门教程之学习环境搭建
2014/12/06 Javascript
JavaScript中逗号运算符介绍及使用示例
2015/03/13 Javascript
简介AngularJS的视图功能应用
2015/06/17 Javascript
JS简单获取及显示当前时间的方法
2016/08/03 Javascript
js判断浏览器是否支持严格模式的方法
2016/10/04 Javascript
Vue项目中quill-editor带样式编辑器的使用方法
2017/08/08 Javascript
详解Koa中更方便简单发送响应的方式
2018/07/20 Javascript
vue 修改 data 数据问题并实时显示的方法
2018/08/27 Javascript
Vue开发环境中修改端口号的实现方法
2019/08/15 Javascript
JS如何实现封装列表右滑动删除收藏按钮
2020/07/23 Javascript
React实现全选功能
2020/08/25 Javascript
解决vue2中使用elementUi打包报错的问题
2020/09/22 Javascript
JavaScript实现无限轮播效果
2020/11/19 Javascript
[01:04]DOTA2:伟大的Roshan雕塑震撼来临
2015/01/30 DOTA
[10:14]2018DOTA2国际邀请赛寻真——paiN Gaming不仅为自己而战
2018/08/14 DOTA
Python类的多重继承问题深入分析
2014/11/09 Python
python Django模板的使用方法
2016/01/14 Python
Python Paramiko模块的安装与使用详解
2016/11/18 Python
Python拼接字符串的7种方式详解
2020/03/19 Python
python统计文章中单词出现次数实例
2020/02/27 Python
CSS3实现跳动的动画效果
2016/09/12 HTML / CSS
HTML5轻松实现全屏视频背景的示例
2018/04/23 HTML / CSS
美国电视购物:QVC
2017/02/06 全球购物
如果一个类实现了多个接口但是这些接口有相同的方法名将会怎样
2013/06/16 面试题
2014镇副书记群众路线专题民主生活会思想汇报
2014/09/23 职场文书
2014小学语文教师个人工作总结
2014/12/03 职场文书
幼师辞职信范文大全
2015/05/12 职场文书
生死抉择观后感
2015/06/09 职场文书
Java输出Hello World完美过程解析
2021/06/13 Java/Android