我想在文本框中输入数字,文本框会自动将这些数字转换为货币。(12,345,654)
我可以使用 FilteredTextBoxExtender
<ajaxToolkit:FilteredTextBoxExtender ID="ftbe" runat="server"
TargetControlID="TextBox3"
FilterType="Custom, Numbers"
ValidChars="," />
但是我想在用户输入数字时自动添加逗号。
我想在文本框中输入数字,文本框会自动将这些数字转换为货币。(12,345,654)
我可以使用 FilteredTextBoxExtender
<ajaxToolkit:FilteredTextBoxExtender ID="ftbe" runat="server"
TargetControlID="TextBox3"
FilterType="Custom, Numbers"
ValidChars="," />
但是我想在用户输入数字时自动添加逗号。
我使用 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;
}
<asp:TextBox ID="aPriceTextBox" runat="server" Width="100px" onkeyup = "javascript:this.value=Comma(this.value);" />
您可以使用 ajax maskedit extander
这里有一些例子:
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:TextBox ID="TextBox1" runat="server" />
<cc1:MaskedEditExtender runat ="server"
TargetControlID="TextBox1"
Mask="999,999,999,999"
MessageValidatorTip="true"
MaskType="Number"
InputDirection="RightToLeft"
AcceptNegative="Left"
DisplayMoney="None"
ErrorTooltipEnabled="True" />