如何在货币文本框中将*转换为000

how to convert * to 000 in currency textbox?

本文关键字:转换 货币 文本      更新时间:2024-03-05

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