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中检测变量的类型的代码
Dec 28 Javascript
js动画(animate)简单引擎代码示例
Dec 04 Javascript
jquery解决图片路径不存在执行替换路径
Feb 06 Javascript
复选框全选与全不选操作实现思路
Aug 18 Javascript
jQuery如何实现点击页面获得当前点击元素的id或其他信息
Jan 09 Javascript
jQuery实现强制cookie过期方法汇总
May 22 Javascript
Bootstrap CSS布局之表格
Dec 17 Javascript
Vue封装Swiper实现图片轮播效果
Feb 06 Javascript
JS实现简单的点赞与踩功能示例
Dec 05 Javascript
vue项目或网页上实现文字转换成语音播放功能
Jun 09 Javascript
vue+element-ui表格封装tag标签使用插槽
Jun 18 Javascript
TypeScript魔法堂之枚举的超实用手册
Oct 29 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环境套包 dedeampz 伪静态设置示例
2014/03/26 PHP
php常见的魔术方法详解
2014/12/25 PHP
PHP速成大法
2015/01/30 PHP
非常强大的 jQuery.AsyncBox 弹出对话框插件
2011/08/29 Javascript
html a标签-超链接中confirm方法使用介绍
2013/01/04 Javascript
JavaScript中的数组操作介绍
2014/12/30 Javascript
jQuery浏览器CSS3特写兼容实例
2015/01/19 Javascript
AngularJS iframe跨域打开内容时报错误的解决办法
2015/01/26 Javascript
javascript实现校验文件上传控件实例
2015/04/20 Javascript
Bootstrap安装环境配置教程分享
2016/05/27 Javascript
JSONP跨域请求
2017/03/02 Javascript
JavaScript算法教程之sku(库存量单位)详解
2017/06/29 Javascript
JS中的多态实例详解
2017/10/15 Javascript
js实现动态添加上传文件页面
2018/10/22 Javascript
Vue.js路由实现选项卡简单实例
2019/07/24 Javascript
Vue搭建后台系统需要注意的问题
2019/11/08 Javascript
JS遍历树层级关系实现原理解析
2020/08/31 Javascript
Python操作Word批量生成文章的方法
2015/07/28 Python
使用Python中的tkinter模块作图的方法
2017/02/07 Python
Python实现基于TCP UDP协议的IPv4 IPv6模式客户端和服务端功能示例
2018/03/22 Python
Python实现的远程登录windows系统功能示例
2018/06/21 Python
Flask框架 CSRF 保护实现方法详解
2019/10/30 Python
flask 框架操作MySQL数据库简单示例
2020/02/02 Python
在pycharm中为项目导入anacodna环境的操作方法
2020/02/12 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
2020/02/13 Python
python zip,lambda,map函数代码实例
2020/04/04 Python
Django和Ueditor自定义存储上传文件的文件名
2021/02/25 Python
Tretorn美国官网:瑞典外套和鞋类品牌,抵御风雨
2018/07/19 全球购物
给酒店员工的表扬信
2014/01/11 职场文书
简历的自我评价
2014/02/03 职场文书
新员工试用期工作总结2015
2015/05/28 职场文书
十七岁的单车观后感
2015/06/12 职场文书
幼儿园开学家长寄语(2016秋季)
2015/12/03 职场文书
详解非极大值抑制算法之Python实现
2021/06/28 Python
MySQL窗口函数的具体使用
2021/11/17 MySQL
MyBatis XPathParser解析器使用范例详解
2022/07/15 Java/Android