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 相关文章推荐
div模拟选择框示例代码
Nov 03 Javascript
js根据手机客户端浏览器类型,判断跳转官网/手机网站多个实例代码
Apr 30 Javascript
javascript 分号总结及详细介绍
Sep 24 Javascript
根据Bootstrap Paginator改写的js分页插件
Dec 25 Javascript
完美解决浏览器跨域的几种方法(汇总)
May 08 Javascript
HTML5+JS+JQuery+ECharts实现异步加载问题
Dec 16 jQuery
原生js封装的ajax方法示例
Aug 02 Javascript
vue里input根据value改变背景色的实例
Sep 29 Javascript
微信小程序实现列表页的点赞和取消点赞功能
Nov 02 Javascript
React 全自动数据表格组件——BodeGrid的实现思路
Jun 12 Javascript
Vue 实现输入框新增搜索历史记录功能
Oct 15 Javascript
JS+HTML5本地存储Localstorage实现注册登录及验证功能示例
Feb 10 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
php5 and xml示例
2006/11/22 PHP
默默小谈PHP&amp;MYSQL分页原理及实现
2007/01/02 PHP
linux下 C语言对 php 扩展
2008/12/14 PHP
discuz7 phpMysql操作类
2009/06/21 PHP
Windows下的PHP安装pear教程
2014/10/24 PHP
Smarty模板变量调节器用法分析
2016/05/23 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
PHP实现微信支付(jsapi支付)流程步骤详解
2018/03/15 PHP
让ie6也支持websocket采用flash封装实现
2013/02/18 Javascript
解析javascript 数组以及json元素的添加删除
2013/06/26 Javascript
密码框显示提示文字jquery示例
2013/08/29 Javascript
一个简单的jQuery计算器实现了连续计算功能
2014/07/21 Javascript
探寻Javascript执行效率问题
2014/11/12 Javascript
jQuery+AJAX实现遮罩层登录验证界面(附源码)
2020/09/13 Javascript
纯JavaScript代码实现文本比较工具
2016/02/17 Javascript
jQuery简单倒计时效果完整示例
2016/09/20 Javascript
使用jQuery操作DOM的方法小结
2017/02/27 Javascript
jQuery Validate 相关参数及常用的自定义验证规则
2017/03/06 Javascript
微信小程序实现点击返回顶层的方法
2017/07/12 Javascript
Vue-cli3.x + axios 跨域方案踩坑指北
2019/07/04 Javascript
使用preload预加载页面资源时注意事项
2020/02/03 Javascript
[05:24]TI9采访——教练
2019/08/24 DOTA
[01:05:07]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第一场2月1日
2021/03/11 DOTA
Python使用百度翻译开发平台实现英文翻译为中文功能示例
2019/08/08 Python
python 带时区的日期格式化操作
2020/10/23 Python
使用Python解析Chrome浏览器书签的示例
2020/11/13 Python
纯CSS3实现8组超炫酷鼠标滑过图片动画
2016/03/16 HTML / CSS
一款html5 canvas实现的图片玻璃碎片特效
2014/09/11 HTML / CSS
意大利综合购物网站:Giordano Shop
2016/10/21 全球购物
工程造价专业大专生求职信
2013/10/06 职场文书
《三个小伙伴》教学反思
2014/04/11 职场文书
听证通知书
2015/04/24 职场文书
辣妈辣妹观后感
2015/06/10 职场文书
解决numpy和torch数据类型转化的问题
2021/05/23 Python
MySQL实例精讲单行函数以及字符数学日期流程控制
2021/10/15 MySQL
Win11运行cmd提示“请求的操作需要提升”的两种解决方法
2022/07/07 数码科技