javascript - 如何将货币文本框中的 * 转换为 000?

标签 javascript asp.net currency

我在 ASP.NET 中有货币文本框 我用:

<script type="text/javascript">
    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;
    }
</script>

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

它可以工作并且没有任何问题,但我希望当用户按 * 时,而不是 * 在文本框中写入“000”。如何做好这项工作?

最佳答案

我希望这是你所需要的

<script type="text/javascript">
    function Comma(Num) { //function to add commas to textboxes
        if (Num.indexOf("*") != -1) {

            Num = document.getElementById('amountTextBox').value.substring(0, Num.indexOf("*")) + '000';
        }
        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;
    }
</script>

关于javascript - 如何将货币文本框中的 * 转换为 000?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20350200/

相关文章:

asp.net - 有没有办法访问在 ASP.Net MVC 的母版页中的 View 上定义的对象

asp.net - gridview dataformatstring 自定义货币

api - Kraken交易所API : AddOrder's expiretm parameter

javascript - 使用javascript格式化货币

JavaScript,无法使其工作

javascript - 如何根据用户选择顺序重新排序多重选择的值

javascript - window.opener 返回 null

javascript - 用图层覆盖整个页面

c# - 显示 :inline-block not always working

html - 对齐 Div 中的两个标签