Javascript 正则表达式实现为数字添加千位分隔符_javascript技巧

最近在网上有看到使用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> 

以上就是本文的全部内容了,希望大家能够喜欢。

时间: 2024-10-29 04:05:36

Javascript 正则表达式实现为数字添加千位分隔符_javascript技巧的相关文章

Javascript 正则表达式实现为数字添加千位分隔符

 在项目中做货币转换的时候经常需要可以实现自动格式化输入的数字,自动千位分隔符,在网上也看到一些其他网友的实现的代码,感觉都不是太满意,于是自己研究了下,分享给大家.     最近在网上有看到使用js来实现数字的千位分隔符的面试(笔试)题,所以就自己写了一个利用"正则+replace"来实现的方法:   复代码如下: var thousandBitSeparator = function(numStr){ var b = /([-+]?d{3})(?=d)/g; return numS

java使用正则表达为数字添加千位符的简单方法_java

Java支持的正则表达式很完善,利用零宽断言可以用一句话为整数添加千位符. 复制代码 代码如下: "1234567890".replaceAll("(?<=\\d)(?=(?:\\d{3})+$)", ",");// => 1,234,567,890

JavaScript正则表达式小结(test|match|search|replace|split|exec)_javascript技巧

学JavaScript正则的好文一篇:http://www.cainiao8.com/web/js_note/js_regular_expression.html test:测试string是否包含有匹配结果,包含返回true,不包含返回false. <script type="text/javascript"> var str = "bbs.byr.cn"; var reg = /b/; var ret = reg.test(str); alert(r

JavaScript中对象属性的添加和删除示例_javascript技巧

复制代码 代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script type="text/javascript"> /* * 用.为对象添加属性 用关键字delete删除属性 用[]添加属性 和.的不同 r.name==r["name

javascript动态向网页中添加表格实现代码_javascript技巧

//此段代码在IE9.Firefox.Chorme.safair中测试显示没有问题,给该表格添加了一些简单的样式,基本功能可以实现,还有少量问题有待改进! 效果图如下:  以下是代码: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <

JavaScript中数组成员的添加、删除介绍_javascript技巧

JavaScript中,由于数组长度是可变的,因此可以通过直接定义新的成员而将其添加到数组中: 复制代码 代码如下: var o = [2,3,5]; o[3] = 7; console.log(o);//[2,3,5,7] 除了这种方法,还可以通过使用push()语句来达到相同的目的: 复制代码 代码如下: o.push(11); console.log(o);//[2,3,5,7,11] o.push(13,17); console.log(o);//[2,3,5,7,11,13,17] 如

javascript验证只能输入数字和一个小数点示例_javascript技巧

复制代码 代码如下: function gaga(obj){ // 值允许输入一个小数点和数字 obj.value = obj.value.replace(/[^\d.]/g,""); //先把非数字的都替换掉,除了数字和. obj.value = obj.value.replace(/^\./g,""); //必须保证第一个为数字而不是. obj.value = obj.value.replace(/\.{2,}/g,"."); //保证只有出

Excel 2007千位分隔符的显示或隐藏

  千位分隔符是Excel中常用的数据符号.今天我们来了解如何控制Excel 2007里千位分隔符的显示或隐藏. 1.选择要设置格式的单元格. 提示 要取消选择的单元格区域,请单击工作表中的任意单元格. 2.在"开始"选项卡上,单击"数字"旁边的"对话框启动器" . 3.在"数字"选项卡上,单击"分类"列表中的"数字". 4.要显示或隐藏千位分隔符,请选中或清除"使用千位分隔符

Excel的千位分隔符是什么

  Excel的千位分隔符,其实就是数字中的逗号.依西方的习惯,人们在数字中加进一个符号,以免因数字位数太多而难以看出它的值.所以人们在数字中,每隔三位数加进一个逗号,也就是千位分隔符,以便更加容易认出数值. 英语里没有"万""亿",只有"百万(million)""十亿(billion)",千位分隔符就是这么产生的: 1,000 one thousand 一千 1,000,000 one million 一百万 1,000,0