Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2110607
  • 博文数量: 82
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 880
  • 用 户 组: 普通用户
  • 注册时间: 2005-03-14 00:01
文章分类

全部博文(82)

文章存档

2014年(1)

2011年(1)

2009年(8)

2008年(11)

2007年(13)

2006年(26)

2005年(22)

我的朋友

分类:

2009-04-25 21:59:17

因为js不支持逆序环视,所以用(\d),在支持逆序环视的语言如php中,可以用(?<=\d),当然php不用这个,而用number_format函数.这个代码比网上那些循环加,的好得多

<input name="num" onfocus="normalFormat(this)" onblur="numberFormat(this)"/>
<script>
function normalFormat(input) {
    input.value = input.value.replace(/,/g,'');
}
function numberFormat(input) {
    if (isNaN(input.value) || !isFinite(input.value)) {input.value = "";return;}
    var v = parseFloat(input.value).toFixed(2);
    //var r = /(\d)(?=(\d\d\d)+\.\d\d)/g;
    var r = /(\d)(?=(\d\d\d)+(?!\d))/g; //这行和上行效果是一样的
    input.value = v.replace(r,"$1,");
}
</script>

阅读(1115) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~