【问题标题】:how to convert * to 000 in currency textbox?如何在货币文本框中将 * 转换为 000?
【发布时间】:2013-12-03 11:42:20
【问题描述】:

我在 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'。如何做这项工作?

【问题讨论】:

    标签: javascript asp.net currency


    【解决方案1】:

    我希望这是你需要的

    <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>
    

    【讨论】:

    • 谢谢。我试了一下,但是,例如,当我写 12* 时,所有文本都转换为 000。我希望该文本转换为 12,000。你有其他解决方案吗?
    • 非常感谢,但这不起作用。请帮我。我对java脚本一无所知。
    • 嘿朋友,我刚刚测试过,它可以工作......你看到了什么错误?
    • 当我输入 1212* 时它会转换为 1,212* 而 * 不会转换为 000
    • 当我输入 1212* 时,它会转换为 1,212,000。看看,你用的是什么浏览器?您必须按 F12 并打开控制台并执行程序并在错误控制台中查看问题。确保您复制的代码完全相同。这一行是最重要的“Num = document.getElementById('amountTextBox').value.substring(0, Num.indexOf("*")) + '000';” (对不起我的英语)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多