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 textarea自动增高并隐藏滚动条
Dec 16 Javascript
jquery 注意事项与常用语法小结
Jun 07 Javascript
jquery实现点击弹出带标题栏的弹出层(从右上角飞入)效果
Sep 19 Javascript
JavaScript代码轻松实现网页内容禁止复制(代码简单)
Oct 23 Javascript
Bootstrap每天必学之警告框插件
Apr 26 Javascript
JavaScript学习笔记整理_setTimeout的应用
Sep 19 Javascript
JS实现复选框的全选和批量删除功能
Apr 05 Javascript
layui框架中layer父子页面交互的方法分析
Nov 15 Javascript
Element-UI Table组件上添加列拖拽效果实现方法
Apr 14 Javascript
React Component存在的几种形式详解
Nov 06 Javascript
Electron autoUpdater实现Windows安装包自动更新的方法
Dec 24 Javascript
jQuery实现判断滚动条滚动到document底部的方法分析
Aug 27 jQuery
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判断一个gif图片是否为动态图片的方法
2014/11/19 PHP
php实现每天自动变换随机问候语的方法
2015/05/12 PHP
php实现遍历多维数组的方法
2015/11/25 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
PHP集成环境XAMPP的安装与配置
2018/11/13 PHP
简单JS代码压缩器
2006/10/12 Javascript
javascript getElementsByClassName实现代码
2010/10/11 Javascript
基于jquery实现拆分姓名的方法(纯JS版)
2013/05/08 Javascript
js为数字添加逗号并格式化数字的代码
2013/08/23 Javascript
jQuery实现HTML5 placeholder效果实例
2014/12/09 Javascript
使用AngularJS创建自定义的过滤器的方法
2015/06/18 Javascript
js控制元素显示在屏幕固定位置及监听屏幕高度变化的方法
2015/08/11 Javascript
jquery获取select选中值的方法分析
2015/12/22 Javascript
AngularJS轻松实现双击排序的功能
2016/08/30 Javascript
基于js实现二级下拉联动
2016/12/17 Javascript
微信小程序左滑删除效果的实现代码
2017/02/20 Javascript
js实现把时间戳转换为yyyy-MM-dd hh:mm 格式(es6语法)
2017/12/28 Javascript
浅谈vue中改elementUI默认样式引发的static与assets的区别
2018/02/03 Javascript
在 vue-cli v3.0 中使用 SCSS/SASS的方法
2018/06/14 Javascript
详解webpack-dev-server使用方法
2018/09/14 Javascript
Vue.js 父子组件通信的十种方式
2018/10/30 Javascript
在LayUI图片上传中,解决由跨域问题引起的请求接口错误的方法
2019/09/24 Javascript
[03:42]2014DOTA2西雅图国际邀请赛7月9日TOPPLAY
2014/07/09 DOTA
python 简单备份文件脚本v1.0的实例
2017/11/06 Python
基于Python数据结构之递归与回溯搜索
2020/02/26 Python
python简单实现插入排序实例代码
2020/12/16 Python
使用CSS3来实现滚动视差效果的教程
2015/08/24 HTML / CSS
美国电力供应商店/电气批发商:USESI
2018/10/12 全球购物
Genny意大利官网:意大利高级时装品牌
2020/04/15 全球购物
行政助理岗位职责范文
2013/12/03 职场文书
人力资源管理专业求职信
2014/07/23 职场文书
食品质量与安全专业毕业生求职信
2014/08/11 职场文书
项目申请汇报材料
2014/08/16 职场文书
2015企业年终工作总结范文
2015/05/27 职场文书
redis连接被拒绝的解决方案
2021/04/12 Redis
python中 Flask Web 表单的使用方法
2022/05/20 Python