js 实现千分数分割(1000,分割后的结果为1,000)

本文介绍了两种实现用户输入数字时自动格式化的方法。一种是通过JavaScript编写自定义函数逐位插入逗号,另一种是利用正则表达式进行匹配并添加分隔符。这两种方法都能实现在用户输入过程中实时格式化数字。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:客户输入1000,自动就分1,000,边输入边分割.

边输入变分割好办 直接使用onkeyup 触发我们的function就可以了,分割比较麻烦
我写的代码如下:
<script language="JavaScript">
   
function toFormant(obj)
    {
       
       
var numstr = obj.value;       
       
var num =numstr.replace(/,| /g,"");
       
if(num.length>1)
        {
            num
= num.replace(/\b[0*]/g,"");
        }       
       
if(!num.match(/[^0-9]/g))
        {
           
//alert(num);
            var a = new Array();
           
if(num.length>3)
            {
               
for(i=num.length;i>0;i=i-3)
                {
                    a.push(num.substring(i
-3,i));
                }
                obj.value
=a.reverse().join(",");
            }
           
else
            {
                obj.value
= num.replace(/,/g,"");
            }
        }
       
else
        {
            alert(
"NOT A No.");
        }
    }
 
</script>

论坛里面的一个大牛的代码如下:
<script language="javascript">
       
function show(obj)
        {
            obj.value
=obj.value.replace(/,/g,"")
           
if(/^[1-9]\d*$/.test(obj.value))
            obj.value
= obj.value.replace(/(?=(?!\b)(?:\d{3})+(?!\d))/g,',');
        }
</script>
哎,还是很有差距的啊,继续努力吧,记录+自勉下

转载于:https://www.cnblogs.com/suyuan/archive/2008/07/09/1239032.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值