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

Javascript 如何在货币文本框中将*转换为000?,javascript,asp.net,currency,Javascript,Asp.net,Currency,我在asp.net中有货币文本框 我使用: 函数逗号(Num){//用于向文本框添加逗号的函数 Num+=''; Num=Num.replace(',','');Num=Num.replace(',','');Num=Num.replace(',',''); Num=Num.replace(',','');Num=Num.replace(',','');Num=Num.replace(',',''); x=分割数('.'); x1=x[0]; x2=x.长度>1?'.+x[1]:''; var

我在asp.net中有货币文本框 我使用:


函数逗号(Num){//用于向文本框添加逗号的函数
Num+='';
Num=Num.replace(',','');Num=Num.replace(',','');Num=Num.replace(',','');
Num=Num.replace(',','');Num=Num.replace(',','');Num=Num.replace(',','');
x=分割数('.');
x1=x[0];
x2=x.长度>1?'.+x[1]:'';
var rgx=/(\d+)(\d{3})/;
while(rgx.测试(x1))
x1=x1.替换(rgx,'$1'+','+'$2');
返回x1+x2;
}



它工作正常,没有任何问题,但我希望当用户按*时,而不是在文本框中写上“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>

函数逗号(Num){//用于向文本框添加逗号的函数
如果(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=分割数('.');
x1=x[0];
x2=x.长度>1?'.+x[1]:'';
var rgx=/(\d+)(\d{3})/;
while(rgx.测试(x1))
x1=x1.替换(rgx,'$1'+','+'$2');
返回x1+x2;
}

谢谢。我尝试过,但是,例如,当我写12*时,所有文本都转换为000。我想把文本转换成12000。你有其他的解决方案吗?非常感谢,但这不起作用。请帮帮我。我对java脚本一无所知。嘿,朋友,我刚刚测试过,它可以正常工作。。。您看到了什么错误?当我键入1212*时,它将转换为1212*;当我键入1212*时,它将转换为1212000*而不是转换为000。看,你用的是什么浏览器?您必须按F12并打开控制台并执行程序,然后在错误控制台中查看问题。确保复制的代码完全相同。这一行是最重要的“Num=document.getElementById('amountTextBox').value.substring(0,Num.indexOf(“*”)+'000';”(对不起我的英语)
  <asp:TextBox ID="amountTextBox" runat="server" onkeyup = "javascript:this.value=Comma(this.value);"></asp:TextBox>
<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>