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选择器使用方法总结
Apr 09 Javascript
javascript页面倒计时实例
Jul 25 Javascript
在web中js实现类似excel的表格控件
Sep 01 Javascript
妙用缓存调用链实现JS方法的重载
Apr 30 Javascript
JS使用Date对象实时显示当前系统时间简单示例
Aug 23 Javascript
Webpack4+Babel7+ES6兼容IE8的实现
Apr 10 Javascript
JQuery 实现文件下载的常用方法分析
Oct 29 jQuery
Vue 微信端扫描二维码苹果端却只能保存图片问题(解决方法)
Jan 19 Javascript
微信小程序 bindtap 传参的实例代码
Feb 21 Javascript
javascript-hashchange事件和历史状态管理实例分析
Apr 18 Javascript
vue内置组件component--通过is属性动态渲染组件操作
Jul 28 Javascript
详解Anyscript开发指南绕过typescript类型检查
Sep 23 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笔记之:基于面向对象设计的详解
2013/05/14 PHP
PHP实现对xml的增删改查操作案例分析
2017/05/19 PHP
PHP中md5()函数的用法讲解
2019/03/30 PHP
aspx中利用js实现确认删除代码
2010/07/22 Javascript
High Performance JavaScript(高性能JavaScript)读书笔记分析
2011/05/05 Javascript
js解析与序列化json数据(三)json的解析探讨
2013/02/01 Javascript
jquery获取一组checkbox的值(实例代码)
2013/11/04 Javascript
JavaScript截取指定长度字符串点击可以展开全部代码
2015/12/04 Javascript
Node.js通过身份证号验证年龄、出生日期与性别方法示例
2017/03/09 Javascript
详解webpack编译多页面vue项目的配置问题
2017/12/11 Javascript
Vue 项目代理设置的优化
2018/04/17 Javascript
react-navigation之动态修改title的内容
2018/09/26 Javascript
JS实现audio音频剪裁剪切复制播放与上传(步骤详解)
2020/07/28 Javascript
[47:21]Liquid vs TNC Supermajor 胜者组 BO3 第一场 6.4
2018/06/05 DOTA
浅谈python socket函数中,send与sendall的区别与使用方法
2017/05/09 Python
详解重置Django migration的常见方式
2019/02/15 Python
python bluetooth蓝牙信息获取蓝牙设备类型的方法
2019/11/29 Python
PyQt5多线程刷新界面防假死示例
2019/12/13 Python
Python 格式化输出_String Formatting_控制小数点位数的实例详解
2020/02/04 Python
python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例
2020/02/28 Python
使用OpenCV实现道路车辆计数的使用方法
2020/07/15 Python
实例代码讲解Python 线程池
2020/08/24 Python
python利用opencv实现颜色检测
2021/02/23 Python
html5本地存储_动力节点Java学院整理
2017/07/12 HTML / CSS
Linux如何修改文件和文件夹的权限
2012/06/27 面试题
机电专业个人自荐信格式模板
2013/09/23 职场文书
法学专业毕业生自荐信范文
2013/12/18 职场文书
应用艺术专业个人的自我评价
2014/01/03 职场文书
计算机应届毕业生自荐信范文
2014/02/23 职场文书
促销活动总结报告
2014/04/26 职场文书
市场推广策划方案
2014/06/02 职场文书
2014年中秋节活动总结
2014/08/29 职场文书
公民授权委托书范本
2014/09/17 职场文书
安全守法证明
2015/06/23 职场文书
省级三好学生主要事迹材料
2015/11/03 职场文书
python四个坐标点对图片区域最小外接矩形进行裁剪
2021/06/04 Python