如何限制textbox只能输入金额

问题描述

如何限制textbox只能输入金额?如果输入的是整数就自动补齐,如输入11就自动变成11.00?请高人给我个代码吧

解决方案

解决方案二:
可以使用errorprovider控件对输入的数据进行判定和处理
解决方案三:
监控keypress事件及change事件,在这两个事件中修正金额
解决方案四:
1、添加只能输入金额的正则(([1-9][0-9]{0,7})|0)(.[0-9]{0,2})

2、在失去焦点事件,做补齐
解决方案五:
变成11.00->string.format("{0}.00",text)
解决方案六:
如何验证TextBox输入的货币类型publicboolvalidateMoney1(stringstr){returnRegex.IsMatch(str,"^¥\d+(\.\d+)?$");}publicboolvalidateMoney2(stringstr){returnRegex.IsMatch(str,"^$\d+(\.\d+)?$");}publicboolvalidateMoney3(stringstr){returnRegex.IsMatch(str,"^\d+(\.\d+)?元$");}//codego.net/protectedvoidPage_Load(objectsender,EventArgse){}protectedvoidButton1_Click(objectsender,EventArgse){if(!validateMoney1(txtMoney.Text)&&!validateMoney2(txtMoney.Text)&&!validateMoney3(txtMoney.Text)){ClientScript.RegisterStartupScript(this.GetType(),"","alert('您输入的会员充值不是货币类型');",true);}}
解决方案七:
引用5楼xiao_xiaoliuyou的回复:

如何验证TextBox输入的货币类型publicboolvalidateMoney1(stringstr){returnRegex.IsMatch(str,"^¥\d+(\.\d+)?$");}publicboolvalidateMoney2(stringstr){returnRegex.IsMatch(str,"^$\d+(\.\d+)?$");}publicboolvalidateMoney3(stringstr){returnRegex.IsMatch(str,"^\d+(\.\d+)?元$");}//codego.net/protectedvoidPage_Load(objectsender,EventArgse){}protectedvoidButton1_Click(objectsender,EventArgse){if(!validateMoney1(txtMoney.Text)&&!validateMoney2(txtMoney.Text)&&!validateMoney3(txtMoney.Text)){ClientScript.RegisterStartupScript(this.GetType(),"","alert('您输入的会员充值不是货币类型');",true);}}

ClientScript.RegisterStartupScript(this.GetType(),"","alert('您输入的会员充值不是货币类型');",true);这句是什么意思?我自己改成messagebox.show("您输入的会员充值不是货币类型");后可以运行,但是无论我输什么都说不是货币类型啊
解决方案八:
提供三种方法,不写代码了,楼主可以找下度娘1:用正则表达式2:用typeof3:checked方法,我没试过。
解决方案九:
直接用numericUpDown,支持小数,还能设置上下限
解决方案十:
对正则式不太懂,正则式怎么写?新手,还着急出程序。请大家给我个代码吧
解决方案十一:
金额不都是数字嘛自动补齐那个转换成保留两位小数的decimald=23.3m;MessageBox.Show(Math.Round(d,2).ToString("0.00"));

时间: 2024-11-10 08:21:13

如何限制textbox只能输入金额的相关文章

Asp.net TextBox只能输入数字

原文:Asp.net TextBox只能输入数字 <asp:textbox id="TextBox1" onkeyup="if(isNaN(value))execCommand('undo')" runat="server" Width="80px" onafterpaste="if(isNaN(value))execCommand('undo')"></asp:textbox> 其

asp.net TextBox 只能输入数字和小数点

在定制的textbox控件中,如果只允许输入数字,需要考虑如下三种情况: 正常按键输入的字符,包括西文.中文字符等 通过键盘快捷键方式贴入的文本,即ctrl+v操作 通过上下文关联菜单的mouse操作贴入的文本,即"粘贴"操作 在探讨的同类文章中,多数只考虑了第1种情况,忽略得了第2.3种常见的操作 只允许数据小数 private sub text1_keypress(keyascii as integer)  if keyascii < 48 or keyascii >

Android开发中EditText只能输入金额

上次写了一篇EditText只能输入金额的博客,后来发现一个bug,当还未输入数字的情况下输入小数点程序就崩了,我去测了一下支付宝,看看会怎么样,我先输入小数点,程序正常,我再输入数字,可以正常输入,但是不够完美,因为".562"是多少钱呢,我要补充的就是当还未输入数字的情况下输入小数点时,个位数字自动补零.鉴于那个代码比较冗余我就又去网上查资料,综合下来总结了一个比较好的实现方式,给EditText添加监听. public class Money {     public stati

asp.net TextBox只能输入数字、退格、小数点(小数点只能有一个且不能在第一位)

asp教程.net textbox只能输入数字.退格.小数点(小数点只能有一个且不能在第一位) private void textbox1_keypress(object sender, keypresseventargs e)        {     e.handled = !(char.isnumber(e.keychar) || e.keychar == (char)8 || e.keychar == '.');     if (!e.handled) (sender as textbo

C#.net中,如何设置textbox只能输入数字?

问题描述 thanx.能否给各代码? 解决方案 解决方案二:onkeyup="this.value.replace('',/[^d]+/g)"看看好用不解决方案三:这样的问题不要太多啊,你搜一下,一大把解决方案四:就是一个正则的限制吗解决方案五:keypress事件里,看情况设置e.Handle例如if(e.KeyChar<'0'||e.KeyChar>'9')e.Handle=true;解决方案六:<asp:textboxonkeypress="isnum

TEXTBOX只能输入4位数字,

问题描述 之前有高手指点,只能输入数字,代码如下:if((e.KeyChar<48||e.KeyChar>57)&&(e.KeyChar!=8)){e.Handled=true;base.OnKeyPress(e);}else{e.Handled=false;base.OnKeyPress(e);}}现在要求只能输入4位数字, 解决方案 解决方案二:MaxLength=4解决方案三:用System.Windows.Forms.NumericUpDown控件更好,设置:Minim

VB.NET中让Textbox只能输入数字

Public Class Form1 Inherits System.Windows.Forms.Form #Region " Windows 窗体设计器生成的代码 " Public Sub New() MyBase.New() '该调用是 Windows 窗体设计器所必需的. InitializeComponent() '在 InitializeComponent() 调用之后添加任何初始化 End Sub '窗体重写 dispose 以清理组件列表. Protected Overl

VB.NET中让Textbox只能输入数字(二)

Public Class Form1 Inherits System.Windows.Forms.Form #Region " Windows 窗体设计器生成的代码 " Public Sub New() MyBase.New() '该调用是 Windows 窗体设计器所必需的. InitializeComponent() '在 InitializeComponent() 调用之后添加任何初始化 End Sub '窗体重写 dispose 以清理组件列表. Protected Overl

asp.net中TextBox只能输入数字的最简洁的两种方法_实用技巧

如下TextBox 复制代码 代码如下: <asp:textboxonkeypress="isnum()"id="TextBox1"runat="server"></asp:textbox> 1. 在页面中添加一段脚本: 复制代码 代码如下: <scriptlanguage="javascript">functionisnum(){if(event.keyCode<45||event.