繁体   English   中英

千位逗号分隔符问题仅最后 3 位正在验证

[英]Thousand comma separator issue only last 3 digit is validating

我尝试在键入时将文本框中的数字转换为逗号分隔值,但只采用最后一个值。

<script type="text/javascript">

   function addCommas(nStr) {
        nStr += '';
        x = nStr.split('.');
        x1 = x[0];
        x2 = x.length > 1 ? '.' + x[1] : '';
        var rgx = /(^\d{2})|(\d{1,3})(?=\d{1,3}|$)/g;
        while (rgx.test(x1)) {
            x1 = x1.replace(rgx, '$1' + ',' + '$2');
        }
        return x1 + x2;
   }


</script>

这是 HTML 文件:

<asp:TextBox ID="txtbudamt" runat="server" CssClass="text_box" Height="22px" Width="140px" onkeyup="this.value=addCommas(this.value);"    onkeydown="return (event.keyCode!=13);" AutoComplete="Off" TabIndex="7"></asp:TextBox>
  • 当我输入数字直到 9999 时,它会给出正确的输出,如 9,999
  • 当我选择 10000 时,它会给出 1,0,000

为此,您可以简单地使用toLocaleString 大多数浏览器也支持它。

function addCommas(nStr) {
   return parseFloat(nStr).toLocaleString('en-GB');
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM