javascript - 在带有数字的文本框中自动添加逗号 (,)

标签 javascript asp.net

当有 4 个或更多数字时,我当前的编码会添加逗号 (,)。但不是 1101 = 1,101 我的代码正在这样做 1101 = 110,1...我希望它格式化并将逗号放在前面。我的 JavaScript

<script language="javascript" type="text/javascript">   
    function AddComma(txt) {
        if (txt.value.length % 4 == 3) {
            txt.value += ",";
        }
    }
</script>


<asp:TextBox ID="TextBox3" onkeypress="AddComma(this)" runat="server"></asp:TextBox>

如何格式化以使逗号位于前面 1,101 或 10,101 或 100,101。

最佳答案

试试这个代码

function Comma(Num) { //function to add commas to textboxes
        Num += '';
        Num = Num.replace(',', ''); Num = Num.replace(',', ''); Num = Num.replace(',', '');
        Num = Num.replace(',', ''); Num = Num.replace(',', ''); Num = Num.replace(',', '');
        x = Num.split('.');
        x1 = x[0];
        x2 = x.length > 1 ? '.' + x[1] : '';
        var rgx = /(\d+)(\d{3})/;
        while (rgx.test(x1))
            x1 = x1.replace(rgx, '$1' + ',' + '$2');
        return x1 + x2;
    }


<asp:TextBox ID="TextBox3" runat="server"  onkeyup = "javascript:this.value=Comma(this.value);" />

希望这对您有帮助。

关于javascript - 在带有数字的文本框中自动添加逗号 (,),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25736940/

相关文章:

javascript - 从对象中过滤出最高数字

javascript - HTML/CSS/JS : Display text before <i> tag

asp.net - 在发布 .Net Web 应用程序期间,使应用程序对用户不可用的最佳方法是什么?

asp.net - 将一个 .net 页面从测试部署到实时服务器

c# - 静态变量是线程安全的吗? C#

c# - 我如何从 Orchard 数据库中删除模块的数据?

javascript - Typescript 中的可选链接运算符

javascript - 使用 Webpack 4 在 Javascript 中导入 JSON 文件

javascript - 使用 Jquery 根据复选框选择更高效地添加和删除类

asp.net - 如何使用单独的 Core API 保护 ASP.NET Core MVC 客户端?