TextBox控件中只输入整数的几种方法

合集下载

VB如何完美实现让文本框只能输入数字?

VB如何完美实现让文本框只能输入数字?

VB如何完美实现让文本框只能输入数字?
展开全文
文本框
在VB编程中,文本框应用广泛。

VB中的文本框(T extBox)为我们提供了一个既能够显示又能够编辑文本的区域,当我们在一个应用程序的窗体中创建了一个文本框对象后,在运行过程中就能在文本框中输入文字,并能够对其中的文字进行选择、删除、复制、粘贴等各种操作。

如何让文本框只能输入数字呢?
我们需要用到VB编程中的键盘事件以及ASCII码的知识。

代码如下
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0
End Sub
这样运行之后我们可以看下图,要求的功能就实现了,赶快实际运行一下!
学习的过程虽然艰辛,但是收获的喜悦也很美好。

所以,大家在学习中遇到问题时不要轻易放弃,多加思考与练习,这样学识自然会日益增长。

winform中如何在TextBox中只能输入数字(可以带小数点)

winform中如何在TextBox中只能输入数字(可以带小数点)
private void textBox1_TextChanged(object sender, EventArgs e) { if (textBox1.Text.Trim() != "") { if (!Validate(textBox1.Text.Trim(), @"^(-?\d+)(\.\d+)?$")) { label1.Text = "请输入数字"; } else { label1.Text = "匹配正确"; } } else { label1.Text = ""; } } /**////是否符合指定的正则表达式 static public bool Validate(string str, string regexStr) { Regex regex = new Regex(regexStr); Match match = regex.Match(str); if (match.Success) return true; else retung System.Text.RegularExpressions;
可以采用像web表单验证的方式利用textbox的textchanged事件每当textbox内容变化时调用正则表达式的方法验证用一个label在text后面提示输入错误具体代码如下
winform中如何在 TextBox中只能输入数字(可以带小数点)
可以采用像web表单验证的方式,利用textbox的TextChanged事件,每当textbox内容变化时,调用正则表达式的方法验证,用一个label在 text后面提示输入错误,具体代码如下:

C# TextBox中只允许输入数字的方法

C# TextBox中只允许输入数字的方法

C# TextBox中只允许输入数字的方法1.在Winform(C#)中要实现限制Textbox只能输入数字,一般的做法就是在按键事件中处理,判断keychar的值。

限制只能输入数字,小数点,Backspace,del这几个键。

数字0~9所对应的keychar为48~57,小数点是46,Backspace是8,小数点是46。

2.输入小数点。

输入的小数要符合数字的格式,类似9.9.9这样的是不能够输入的。

做法就是用float.TryParse来转换Textbox中之前和之后的值,然后比较两者的转换结果。

在如下代码中,实现了控件textBox1中输入数字。

在控件textBox1中的KeyPress时间中输入如下代码private void textBox1_KeyPress(object sender, KeyPressEventArgs e){//判断按键是不是要输入的类型。

if (((int)e.KeyChar< 48 || (int)e.KeyChar> 57) && (int)e.KeyChar != 8 && (int)e.KeyChar !=46 )e.Handled = true;//小数点的处理。

if ((int)e.KeyChar == 46) //小数点{if (textBox1.Text.Length <= 0)e.Handled = true; //小数点不能在第一位else{float f;float oldf;bool b1 = false, b2 = false;b1 = float.TryParse(textBox1.Text, out oldf);b2 = float.TryParse(textBox1.Text + e.KeyChar.ToString(), out f);if (b2 == false){if (b1 == true)e.Handled = true;elsee.Handled = false;}}}}。

TextBox使用技巧...

TextBox使用技巧...
当KeyAscii为13(回车)时,Send一个Tab键给它就行了。
Private Sub Text1_KeyPress (KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys “”
KeyAscii = 0
End If
End Sub
5、当光标移到TextBox时自动选定其中的整串文字。
KeyAscii = KeyAscii - 32
End If
End Sub
3、使两个TextBox同步的方法。
这种方法怎么解释呢?第二个等于第一个就行了:-)。
Private Sub Text1_KeyPress(KeyAscii As Integer)
Text2=Text1
End Sub
4、按下 Enter 键之后,光标自动移到下一个控件。
当TextBox得到焦点时(GotFocus)改变文本颜色,失去焦点时(
LostFocus)将还原文本颜色,ForeColor是设置文本的前景色。
注释:当光标移到TextBox时文字设置为红色
Private Sub Text1_GotFocus()
Text1.ForeColor = vbRed
End Sub
If KeyAscii >= 65 And KeyAscii <= 90 Then
KeyAscii = KeyAscii + 32
End If
End Sub
注释:小写转大写
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii >= 97 And KeyAscii <= 122 Then

wpf textbox输入数字的例子

wpf textbox输入数字的例子

wpf textbox输入数字的例子WPF(Windows Presentation Foundation)是一种用于开发Windows应用程序的框架,其中包含一个TextBox控件,可以用于文本输入。

本文介绍如何使用WPF中的TextBox控件限制用户只能输入数字。

在WPF中,可以通过以下步骤实现TextBox输入数字的限制:1. 添加TextBox控件到窗口或其他父容器中。

可以使用XAML(eXtensible Application Markup Language)或代码实现此步骤。

2. 使用XAML的方式,在TextBox控件标签中添加PreviewTextInput事件句柄。

示例代码如下所示:```xaml<TextBox PreviewTextInput="TextBox_PreviewTextInput" />```3. 在后台代码中,创建TextBox_PreviewTextInput事件句柄来限制输入。

示例代码如下所示:```csharpprivate void TextBox_PreviewTextInput(object sender, TextCompositionEventArgs e){foreach (char c in e.Text){if (!Char.IsDigit(c)){e.Handled = true; // 阻止输入非数字字符break;}}}```4. 保存并运行应用程序。

现在,当用户尝试在TextBox中输入非数字字符时,该字符将被忽略。

请注意,这只是一种简单的方法来限制用户输入数字。

如果需要更复杂的验证规则,可以使用正则表达式或其他逻辑来进行验证和处理。

希望这个例子对于理解如何在WPF应用程序中限制TextBox输入数字有所帮助。

任何进一步的问题,请随时向我提问。

jQuery控制文本框只能输入数字和字母及使用方法

jQuery控制文本框只能输入数字和字母及使用方法

jQuery控制⽂本框只能输⼊数字和字母及使⽤⽅法在公司开发WinForm项⽬时,发现公司⾃主研发的textbox控件⾮常强⼤,可以实现"只能输⼊数字"、"只能输⼊字母"和"只能输⼊数字和字母"的三种输⼊限制,这样就可以精确控制⽤户输⼊的内容范围,让"⽤户永远没有办法输⼊限定的内容范围之外的其他内容",也就是"⽤户即使想犯错误也没有机会",这种限制控件输⼊的⽅式给了我很⼤的启发,如果在web项⽬中也能做到这样的精确控制,那么就可以避免因为⼀些⾮法输⼊⽽造成系统出错,既然WinForm⾥⾯可以实现这样的控件,那么web项⽬⾥⾯也应该有办法去实现类似这样的控件或者能够做到类似的效果,经过⾃⼰的⼀番研究和查找资料,终于做到了类似的效果,针对"只能输⼊数字"、"只能输⼊字母"和"只能输⼊数字和字母"的三种输⼊限制,我封装成onlyNum(),onlyAlpha()和onlyNumAlpha()3个Jquery扩展⽅法,⽅便复⽤,由于⾥⾯⼀些JS代码涉及到了"禁⽤输⼊法,获取剪切板的内容",⽽"禁⽤输⼊法,获取剪切板的内容"只能在IE浏览器下才有效,对于别的浏览器是⽆效的,因此这三个⽅法只适合在IE浏览器下使⽤才有效,三个⽅法的代码如下⼀、限制只能输⼊数字// ----------------------------------------------------------------------// <summary>// 限制只能输⼊数字// </summary>// ----------------------------------------------------------------------$.fn.onlyNum = function () {$(this).keypress(function (event) {var eventObj = event || e;var keyCode = eventObj.keyCode || eventObj.which;if ((keyCode >= && keyCode <= ))return true;elsereturn false;}).focus(function () {//禁⽤输⼊法this.style.imeMode = 'disabled';}).bind("paste", function () {//获取剪切板的内容var clipboard = window.clipboardData.getData("Text");if (/^\d+$/.test(clipboard))return true;elsereturn false;});};⼆、限制只能输⼊字母// ----------------------------------------------------------------------// <summary>// 限制只能输⼊字母// </summary>// ----------------------------------------------------------------------$.fn.onlyAlpha = function () {$(this).keypress(function (event) {var eventObj = event || e;var keyCode = eventObj.keyCode || eventObj.which;if ((keyCode >= && keyCode <= ) || (keyCode >= && keyCode <= ))return true;elsereturn false;}).focus(function () {this.style.imeMode = 'disabled';}).bind("paste", function () {var clipboard = window.clipboardData.getData("Text");if (/^[a-zA-Z]+$/.test(clipboard))return true;elsereturn false;});};三、限制只能输⼊数字和字母// ----------------------------------------------------------------------// <summary>// 限制只能输⼊数字和字母// </summary>// ----------------------------------------------------------------------$.fn.onlyNumAlpha = function () {$(this).keypress(function (event) {var eventObj = event || e;var keyCode = eventObj.keyCode || eventObj.which;if ((keyCode >= && keyCode <= ) || (keyCode >= && keyCode <= ) || (keyCode >= && keyCode <= ))return true;elsereturn false;}).focus(function () {this.style.imeMode = 'disabled';}).bind("paste", function () {var clipboard = window.clipboardData.getData("Text");if (/^(\d|[a-zA-Z])+$/.test(clipboard))return true;elsereturn false;});};使⽤⽅法:⾸先在画⾯加载完成之后编写如下的JS脚本$(function () {// 限制使⽤了onlyNum类样式的控件只能输⼊数字$(".onlyNum").onlyNum();//限制使⽤了onlyAlpha类样式的控件只能输⼊字母$(".onlyAlpha").onlyAlpha();// 限制使⽤了onlyNumAlpha类样式的控件只能输⼊数字和字母$(".onlyNumAlpha").onlyNumAlpha();});对需要做输⼊控制的控件设置class样式<ul><li>只能输⼊数字:<input type="text" class="onlyNum" /></li><li>只能输⼊字母:<input type="text" class="onlyAlpha" /></li><li>只能输⼊数字和字母:<input type="text" class="onlyNumAlpha" /></li></ul>这样画⾯上凡是设置了class="onlyNum"的控件就只能输⼊数字,设置了class="onlyAlpha"的控件只能输⼊字母,设置了class="onlyNumAlpha"的控件只能输⼊数字和字母,通过这种⽅式就可以限制了⽤户的输⼊范围,避免⽤户进⾏⼀些⾮法的输⼊。

C#-WinForm-TextBox中只能输入数字的几种常用方法(C#)

C#-WinForm-TextBox中只能输入数字的几种常用方法(C#)

C#-WinForm-TextBox中只能输⼊数字的⼏种常⽤⽅法(C#)1. ⽅法⼀:2.3. private void tBox_KeyPress(object sender, KeyPressEventArgs e)4.5. {6. if (e.KeyChar == 0x20) e.KeyChar = (char)0; //禁⽌空格键7. if ((e.KeyChar == 0x2D) && (((TextBox)sender).Text.Length == 0)) return; //处理负数8. if (e.KeyChar > 0x20)9. {10. try11. {12. double.Parse(((TextBox)sender).Text + e.KeyChar.ToString());13. }14. catch15. {16. e.KeyChar = (char)0; //处理⾮法字符17. }18. }19. }20.21. ⽅法⼆:22.23. private void TextBox_KeyPress(object sender, KeyPressEventArgs e)24. {25. if(e.KeyChar!=8&&!Char.IsDigit(e.KeyChar))26. {27. e.Handled = true;28. }29. }30. 或者31.32. private void TextBox_KeyPress(object sender, KeyPressEventArgs e)33. {34. if(e.KeyChar!='\b'&&!Char.IsDigit(e.KeyChar))35. {36. e.Handled = true;37. }38.39. }40.41. ⽅法三:42.43. private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)44. {45. if(e.KeyChar!='\b')//这是允许输⼊退格键46. {47. if((e.KeyChar<'0')||(e.KeyChar>'9'))//这是允许输⼊0-9数字48. {49. e.Handled = true;50. }51. }52. }53.54. ⽅法四:55.56. private void textBox1_Validating(object sender, CancelEventArgs e)57. {58. const string pattern = @"^\d+\.?\d+{1}quot;;59. string content = ((TextBox)sender).Text;60.61. if (!(Regex.IsMatch(content, pattern)))62. {63. errorProvider1.SetError((Control)sender, "只能输⼊数字!");64. e.Cancel = true;65. }66. else67. errorProvider1.SetError((Control)sender, null);68. }69.70. ⽅法五:71.72. private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)73. {74. if(e.KeyChar=='.' && this.textBox1.Text.IndexOf(".")!=-1)75. {76. e.Handled=true;77. }78.79. if(!((e.KeyChar>=48 && e.KeyChar<=57) || e.KeyChar=='.' || e.KeyChar==8))80. {81. e.Handled=true;82. }83.84. }85.86. ⽅法六:87.88. private void tbx_LsRegCapital_KeyPress(object sender, KeyPressEventArgs e)89. {90. if (!Char.IsNumber(e.KeyChar) && !Char.IsPunctuation(e.KeyChar) && !Char.IsControl(e.KeyChar))91. {92. e.Handled = true;//消除不合适字符93. }94. else if (Char.IsPunctuation(e.KeyChar))95. {96. if (e.KeyChar != '.' || this.textBox1.Text.Length == 0)//⼩数点97. {98. e.Handled = true;99. }100. if (stIndexOf('.') != -1)101. {102. e.Handled = true;103. }104. }105. }106.107. ⽅法七:108.109. 利⽤ASCII码处理办法、110. {111.112. if ((e.KeyChar <= 48 || e.KeyChar >=57) && (e.KeyChar != 8) && (e.KeyChar != 46))113. e.Handled = true;114. ================48代表0,57代表9,8代表空格,46代表⼩数点115. }。

C#TextBox中只允许输入数字的解决方法

C#TextBox中只允许输入数字的解决方法

最近看到⼀些关于TextBox中限制只允许输⼊数字的博⽂,这类问题常常⽤事后处理模式:录⼊字符结束后在控件离开(如Exit事件)或确认时进⾏判断。

本⽂探讨控件录⼊操作的事前处理模式:做录⼊操作时屏蔽⾮数字字符。

下⾯,结合笔者前段时间修改完善的开源数值⽂框TNumEditBox控件,介绍⼀个基于定制TextBox控件的解决⽅法。

在定制的TextBox控件中,如果只允许输⼊数字,需要考虑如下三种情况: 正常按键输⼊的字符,包括西⽂、中⽂字符等 通过键盘快捷键⽅式贴⼊的⽂本,即Ctrl+V操作 通过上下⽂关联菜单的Mouse操作贴⼊的⽂本,即”粘贴“操作 在探讨的同类⽂章中,多数只考虑了第1种情况,忽略得了第2、3种常见的操作。

本⽂探讨的处理⽅法核⼼思路是重写事件OnKeyPress()和两个⽅法 ProcessCmdKey()与WndProc(),并把Ctrl+V、关联菜单的Paste操作统⼀到键盘录⼊操作中,从⽽在 OnKeyPress()屏蔽掉⾮数字键。

1、重写键盘事件OnKeyPress() 键盘输⼊的字符可以通过重写TextBox控件的OnKeyPress()事件处理,见如下代码: protected override void OnKeyPress(KeyPressEventArgs e) // 屏蔽⾮数字键{ base.OnKeyPress(e); if (this.ReadOnly) //只读, 不处理 { return; } if ((int)e.KeyChar <= 32) // 特殊键(含空格), 不处理 { return; } if (!char.IsDigit(e.KeyChar)) // ⾮数字键, 放弃该输⼊ { e.Handled = true; return; }} 2、重写命令键处理⽅法ProcessCmdKey() 可以在ProcessCmdKey()中捕获快捷键Ctrl+V操作。

关于强制让一个TextBox控件只能输入数字(含小数)的方法

关于强制让一个TextBox控件只能输入数字(含小数)的方法

关于强制让一个TextBox控件只能输入数字(含小数)的方法自已尝试过很多次﹐每次都不是很理想﹐现在尝试将其做成一个用户控件﹐与大家分享﹐同时希望大家能提供出更好的方法﹒using System;using System.Collections.Generic;using ponentModel;using System.Drawing;using System.Data;using System.Text;using System.Windows.Forms;namespace WinERP{public partial class UC_DecimalTextBox : UserControl{private int intLength = 3; // 整数部份的长度private int decimalLength = 2; // 保留小数的位数private ErrorProvider errorProvider; // 用于显示错误信息的ErrorProvider控件[Description("设置整数部份的长度(在1~100之间)")]public int IntLength{get { return intLength; }set{try{if (value < 1){intLength = 1;throw new Exception("整数部份的长序必须是1~100之间");}else if (value > 100){intLength = 100;throw new Exception("整数部份的长序必须是1~100之间");}else{intLength = value;}catch (Exception ex){MessageBox.Show(ex.Message);}finally{if (decimalLength == 0){textBox1.MaxLength = IntLength;}else{textBox1.MaxLength = intLength + decimalLength + 1; }}}}[Description("设置小数部份的长度(在0~10之间)")] public int DecimalLength{get { return decimalLength; }set{try{if (value < 0){decimalLength = 0;throw new Exception("小数部份的长序必须0~10之间"); }else if (value > 10){decimalLength = 10;throw new Exception("小数部份的长序必须0~10之间"); }else{decimalLength = value;}}catch (Exception ex)MessageBox.Show(ex.Message);}finally{if (decimalLength == 0){textBox1.MaxLength = IntLength;}else{textBox1.MaxLength = intLength + decimalLength + 1; }}}}[Description("用于显示错误信息的ErrorProvider控件")] public ErrorProvider ErrorProvider{get { return errorProvider; }set { errorProvider = value; }}[Description("文本框的边框样式")]public BorderStyle TextBoxBorderStyle{get { return textBox1.BorderStyle; }set { textBox1.BorderStyle = value; }}[Description("表示如何对齐TextBox控件中的文字")] public HorizontalAlignment TextAlign{get { return textBox1.TextAlign; }set { textBox1.TextAlign = value; }}[Description("控制是否可以编辑TextBox中的文字")] public bool ReadOnly{get { return textBox1.ReadOnly; }set { textBox1.ReadOnly = value; }}[Description("文本框中的文字")]public override string Text{get { return textBox1.Text; }set { textBox1.Text = value; }}public UC_DecimalTextBox(){InitializeComponent();}// 当控件调整大小时发生private void UC_DecimalTextBox_Resize(object sender, EventArgs e){textBox1.Width = this.Width - 6;this.Height = textBox1.Height + 6; // 固定自定义控件的高﹐不允许调大}private void textBox1_KeyPress(object sender, KeyPressEventArgs e){if ((e.KeyChar >= '0' && e.KeyChar <= '9') || (e.KeyChar == '\b') || (e.KeyChar == '.')){e.Handled = false; // 允许输入int pos = textBox1.SelectionStart;int intLength = textBox1.Text.Length;if ((intLength == textBox1.MaxLength) && (pos < textBox1.MaxLength)){textBox1.SelectionLength = 1;if ((textBox1.SelectedText == ".") && (e.KeyChar != '.')){++textBox1.SelectionStart;}}if ((e.KeyChar == '.') && (textBox1.Text.IndexOf('.') > -1)){e.Handled = true;if ((pos < IntLength - 1) && (textBox1.Text.Substring(pos, 1) == ".")){textBox1.SelectionStart = ++pos;}if ((decimalLength == 0) && (e.KeyChar == '.')) // 如果是保留零位小数﹐则不允许输入点号{e.Handled = true;}}else{e.Handled = true; // 不允许输入}}private void textBox1_KeyUp(object sender, KeyEventArgs e){int pos = textBox1.SelectionStart;string strValue = textBox1.Text.Trim();if (decimalLength == 0){ // 当文本框中只输入整数时while (strValue.Substring(0, 1) == "0"){ // 去除整数部份最前右侧的if (strValue.Length > 1){strValue = strValue.Substring(1, strValue.Length - 1);if (pos > 0){--pos;}}else{break;}}textBox1.Text = strValue;}else{ // 当文本框用于输入小数时int pointPs = strValue.IndexOf('.');if (pointPs < 0)strValue += ".".PadRight(DecimalLength, '0');}if (pointPs == 0){strValue = "0" + strValue;textBox1.SelectionStart = ++pos;}// 自动使其保留两位小数string[] strs = strValue.Split(new char[] { '.' });strs[0] = strs[0].Length > 0 ? strs[0] : "0";// 去除整数部份最前右侧的while (strs[0].Substring(0, 1) == "0"){if (strs[0].Length > 1){strs[0] = strs[0].Substring(1, strs[0].Length - 1);if (pos > 0){--pos;}}else{break;}}// 取得小数字数的数字,如果不足小数字长度﹐则以填补if (strs[1].Length < decimalLength){strs[1] = strs[1].PadRight(decimalLength, '0');}textBox1.Text = strs[0] + "." + strs[1];}textBox1.SelectionStart = pos;}private void textBox1_Validating(object sender, CancelEventArgs e) {if (errorProvider == null)return;}errorProvider.SetError(this, "");double dValue;if (!double.TryParse(textBox1.Text, out dValue)){string strMsg = string.Format("请输入整数部份不超过{0}位﹐且小数字不超过{1}位的有效数字!", IntLength, decimalLength);if (decimalLength == 0){strMsg = string.Format("请输入不超过{0}位的有效整数!", IntLength);}errorProvider.SetError(this, strMsg);e.Cancel = true;}}}}文章来源:北大青鸟 。

ASP.NETc#textbox正则表达式文本框只允许输入数字(验证控件RegularEx。。。

ASP.NETc#textbox正则表达式文本框只允许输入数字(验证控件RegularEx。。。

c#textbox正则表达式⽂本框只允许输⼊数字(验证控件RegularEx。

<input type="text" name="test" onKeyUp="test1.value=(this.value=this.value.replace(/\D/g,'').substring(0,6)).substring(0,3)" > <br /><input name="test1" type="text" >⽤Up和Down有区别只能输⼊数字、字母、下划线<input ID="txtShopNumber" runat="server" class="input_text" maxlength="8" onkeyup="value=value.replace(/[^(\-)\w\.\/]/ig,'')"/>常⽤的正则表达式只能输⼊数字:“^[0-9]*$”只能输⼊n位的数字:“^\d{n}$”只能输⼊⾄少n位数字:“^\d{n,}$”只能输⼊m-n位的数字:“^\d{m,n}$”只能输⼊零和⾮零开头的数字:“^(0|[1-9][0-9]*)$”只能输⼊有两位⼩数的正实数:“^[0-9]+(.[0-9]{2})?$”只能输⼊有1-3位⼩数的正实数:“^[0-9]+(.[0-9]{1,3})?$”只能输⼊⾮零的正整数:“^\+?[1-9][0-9]*$”只能输⼊⾮零的负整数:“^\-[1-9][0-9]*$”只能输⼊长度为3的字符:“^.{3}$”只能输⼊由26个英⽂字母组成的字符串:“^[A-Za-z]+$”只能输⼊由26个⼤写英⽂字母组成的字符串:“^[A-Z]+$”只能输⼊由26个⼩写英⽂字母组成的字符串:“^[a-z]+$”只能输⼊由数字和26个英⽂字母组成的字符串:“^[A-Za-z0-9]+$”只能输⼊由数字、26个英⽂字母或者下划线组成的字符串:“^\w+$”验证⽤户密码:“^[a-zA-Z]\w{5,17}$”正确格式为:以字母开头,长度在6-18之间,正确格式为:“XXXX-XXXXXXX”,“XXXX-XXXXXXXX”,“XXX-XXXXXXX”,“XXX-XXXXXXXX”,“XXXXXXX”,“XXXXXXXX”。

Asp.net之TextBox只允许输入数字的方法总结

Asp.net之TextBox只允许输入数字的方法总结

之TextBox只允许输⼊数字的⽅法总结复制代码代码如下:<asp:textbox id="TextBox1" onkeyup="if(isNaN(value))execCommand('undo')" runat="server"Width="80px" onafterpaste="if(isNaN(value))execCommand('undo')"></asp:textbox>其实服务器控件也能加上onkeydown与up等事件的这样就⾏了只能输⼊⼩数与数字在.net开发中,为了确保数据的正确性,经常要⽤户输⼊的内容进⾏验证,⽐喻说只能输⼊数字。

⾸先在TextBox控件中加⼀个属性事件:复制代码代码如下:<asp:textbox class="Text"onkeypress="if (event.keyCode < 48 || event.keyCode >57) event.returnValue = false;"id="txtY_Revenue" style="TEXT-ALIGN: right" runat="server" Width="90%" MaxLength="12"></asp:textbox>键盘按下去时检查按下的是不是0-9,如果不是的话,不将当前的输⼊放⼊⽂本框中说明:此⽅法控制TextBox只输⼊数字:0~9,提供⼀种思路补充:1.取消按钮按下时的虚线框在input⾥添加属性值 hideFocus 或者 HideFocus=true2.只读⽂本框内容在input⾥添加属性值 readonly3.防⽌退后清空的TEXT⽂档(可把style内容做做为类引⽤)复制代码代码如下:<INPUT style=behavior:url(#default#savehistory); type=text id=oPersistInput>4.ENTER键可以让光标移到下⼀个输⼊框复制代码代码如下:<input onkeydown="if(event.keyCode==13)event.keyCode=9" >5.只能为中⽂(有闪动)复制代码代码如下:<input onkeyup="value=value.replace(/[ -~]/g,'')" onkeydown="if(event.keyCode==13)event.keyCode=9">利⽤Ascii码的范围进⾏判断6.只能为数字(有闪动)复制代码代码如下:<input onkeyup="value=value.replace(/[^\d]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">利⽤Ascii码的范围进⾏判断7.只能为数字(⽆闪动)复制代码代码如下:<input style="ime-mode:disabled" onkeydown="if(event.keyCode==13)event.keyCode=9" onKeyPress="if((event.keyCode<48 || event.keyCode>57)) event.returnValue=false">利⽤Ascii码的范围进⾏判断8.只能输⼊英⽂和数字(有闪动)复制代码代码如下:<input onkeyup="value=value.replace(/[\W]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">利⽤js的正则表达式进⾏验证9.屏蔽输⼊法复制代码代码如下:<input type="text" name="url" style="ime-mode:disabled" onkeydown="if(event.keyCode==13)event.keyCode=9">10. 只能输⼊数字,⼩数点,减号(-)字符(⽆闪动)复制代码代码如下:<input onKeyPress="if (event.keyCode!=46 && event.keyCode!=45 && (event.keyCode<48 || event.keyCode>57)) event.returnValue=false">利⽤Ascii码的范围进⾏判断11. 只能输⼊两位⼩数,三位⼩数(有闪动)复制代码代码如下:<input maxlength=9 onkeyup="if(value.match(/^\d{3}$/))value=value.replace(value,parseInt(value/10));value=value.replace(/\.\d*\./g,'.')" onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 && event.keyCode!=45 || value.match(/^\d{3}$/) || /\.\d{3}$/.test(value)) {event.returnValue=false}" id=text_kfxe name=text_kfxe>利⽤js的正则表达式进⾏验证。

只能输入正整数以及常用的正则表达式

只能输入正整数以及常用的正则表达式

只能输入正整数以及常用的正则表达式1.只能输入数字和英文的:<input onkeyup="value=value.replace(/[/W]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.get Data('text').replace(/[^/d]/g,''))" ID="Text1" NAME="Text1">2.只能输入数字的:<input onkeyup="value=value.replace(/[^/d]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.get Data('text').replace(/[^/d]/g,''))" ID="Text2" NAME="Text2">3.只能输入全角的:<input onkeyup="value=value.replace(/[^/uFF00-/uFFFF]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.get Data('text').replace(/[^/uFF00-/uFFFF]/g,''))" ID="Text3" NAME="Text3">4.只能输入汉字的:<input onkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.get Data('text').replace(/[^/u4E00-/u9FA5]/g,''))" ID="Text4" NAME="Text4">5.邮件地址验证:var regu = "^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[0-9a-zA-Z]+))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|NET|com|COM|gov|GOV|mil|MIL|org|ORG|edu|EDU|int|INT)$"var re = new RegExp(regu);if (s.search(re) != -1) {return true;} else {window.alert ("请输入有效合法的E-mail地址!")return false;}6.身份证:"^//d{17}(//d|x)$"7.17种正则表达式"^//d+$" //非负整数(正整数 + 0)"^[0-9]*[1-9][0-9]*$" //正整数"^((-//d+)|(0+))$" //非正整数(负整数 + 0)"^-[0-9]*[1-9][0-9]*$" //负整数"^-?//d+$" //整数"^//d+(//.//d+)?$" //非负浮点数(正浮点数 + 0)"^(([0-9]+//.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*//.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮点数"^((-//d+(//.//d+)?)|(0+(//.0+)?))$" //非正浮点数(负浮点数 + 0)"^(-(([0-9]+//.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*//.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //负浮点数"^(-?//d+)(//.//d+)?$" //浮点数"^[A-Za-z]+$" //由26个英文字母组成的字符串"^[A-Z]+$" //由26个英文字母的大写组成的字符串"^[a-z]+$" //由26个英文字母的小写组成的字符串"^[A-Za-z0-9]+$" //由数字和26个英文字母组成的字符串"^//w+$" //由数字、26个英文字母或者下划线组成的字符串"^[//w-]+(//.[//w-]+)*@[//w-]+(//.[//w-]+)+$"//email地址"^[a-zA-z]+://(//w+(-//w+)*)(//.(//w+(-//w+)*))*(//?//S*)?$" //url====================================== =======1.取消按钮按下时的虚线框在input里添加属性值 hideFocus 或者 HideFocus=true2.只读文本框内容在input里添加属性值 readonly3.防止退后清空的TEXT文档(可把style内容做做为类引用)<INPUT style=behavior:url(#default#savehistory); type=text id=oPersistInput>4.ENTER键可以让光标移到下一个输入框<inputonkeydown="if(event.keyCode==13)event.keyCode=9" >5.只能为中文(有闪动)<input onkeyup="value="/value.replace(/[" -~]/g,’’)" onkeydown="if(event.keyCode==13)event.keyCode=9">6.只能为数字(有闪动)<input onkeyup="value="/value.replace(/["^/d]/g,’’) "onbeforepaste="clipboardData.setData(’text’,cli pboardData.getData(’text’).replace(/[^/d]/g,’’))">7.只能为数字(无闪动)<input ime-mode:disabled" onkeydown="if(event.keyCode==13)event.keyCode=9" onKeyPress="if ((event.keyCode<48 || event.keyCode>57)) event.returnValue=false">8.只能输入英文和数字(有闪动)<input onkey up="value="/value.replace(/[/W]/g,"’’)" onbeforepaste="clipboardData.setData(’text’,clipboardData.g etData(’text’).replace(/[^/d]/g,’’))">9.屏蔽输入法<input type="text" name="url" ime-mode:disabled" onkeydown="if(event.keyCode==13)event.keyCode=9">10. 只能输入数字,小数点,减号(-)字符(无闪动)<input onKeyPress="if (event.keyCode!=46 && event.keyCode!=45 && (event.keyCode<48 || event.keyCode>57)) event.returnValue=false">11. 只能输入两位小数,三位小数(有闪动)<input maxlength=9 onkeyup="if(value.match(/^/d{3}$/))value="/value.replace(value ,parseInt(value/10))" ;value="/value.replace(//./d*/./g,’."’)" onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 && event.keyCode!=45 || value.match(/^/d{3}$/) || //./d{3}$/.test(value)) {event.returnValue=false}" id=text_kfxe name=text_kfxe>。

C#TextBox只能输入数值

C#TextBox只能输入数值
以下为只能输入非负数数值示例:
private void tb_KeyPressห้องสมุดไป่ตู้object sender, KeyPressEventArgs e) { TextBox tbObject = (TextBox)sender; if (e.KeyChar == '.' && tbObject.Text.IndexOf(".") != -1) { e.Handled = true; } if (!((e.KeyChar >= 48 && e.KeyChar <= 57) || e.KeyChar == '.' || e.KeyChar == 8)) { e.Handled = true; } }
000110023之类还需要进一步处理可以通过在控件失去焦点lostfocus事件中通过数值转换转为正确数值
C#TextBox只 能 输 入 数 值
实现限制TextBox只能输入数值思路:首先在控件KeyPress事件中过滤非数值字符,但该过程不能保证输入的字符是正确的数值,如: 00.01,100.2.3之类还需要进一步处理,可以通过在控件失去焦点LostFocus事件中通过数值转换转为正确数值。
private void tb_LostFocus(object sender, EventArgs e) { TextBox tbObject = (TextBox)sender; try { tbObject.Text = Convert.ToDouble(tbObject.Text).ToString(); } catch { tbObject.Text = ""; } }

VB中使文本框只能输入数字的方法

VB中使文本框只能输入数字的方法

中使文本框只能输入数字的方法编制计算类程序时文本框一般都用于输入数字数据,此时可以通过以下步骤来确保用户输入数据的正确性:编制计算类程序时文本框一般都用于输入数字数据,此时可以通过以下步骤来确保用户输入数据的正确性:首先添加好文本框控件TextBox后把属性IMEMode的值改成Disable,这样在该文本框中就不能使用中文输入法了。

然后对文本框的KeyPress事件添加以下代码Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Textbox1.KeyPressIf Char.IsDigit(e.KeyChar) Or e.KeyChar = Chr(8) Thene.Handled = FalseElsee.Handled = TrueEnd IfEnd Sub其中e.KeyChar是键盘输入的键对应的字符,IsDigit函数可以判断是否为0到9的数字,Chr(8)为退格键,当e.Handled为True时,程序认为该KeyPress事件已经被处理过了,文本框的内容也就不会发生变化了。

从以上程序中不难看出,此时文本框只能接受数字和退格键,也就是说这个文本框是用来输入整数的。

如果文本需要输入小数的话,就要能够输入小数点".",而且小数点只能输入一次,此时可以将上面的函数改为下面的格式:Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Textbox1.KeyPressIf Char.IsDigit(e.KeyChar) or e.KeyChar = Chr(8) or e.KeyChar = "." ThenIf e.KeyChar = "." And InStr(TextBox1.Text, ".") > 0 Thene.Handled = TrueElsee.Handled = FalseEnd IfElsee.Handled = TrueEnd IfEnd Sub其中函数InStr返回指定字符在字符串中的位置,当字符串中不含此字符时,返回一个负数。

winform验证textbox只能输入数字或中文正则表达式

winform验证textbox只能输入数字或中文正则表达式

winform验证textbox只能输入数字或中文正则表达式验证数字的正则表达式集验证数字:^[0-9]*$验证n位的数字:^\d{n}$验证至少n位数字:^\d{n,}$验证m-n位的数字:^\d{m,n}$验证零和非零开头的数字:^(0|[1-9][0-9]*)$验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$验证非零的正整数:^\+?[1-9][0-9]*$验证非零的负整数:^\-[1-9][0-9]*$验证非负整数(正整数 + 0):^\d+$验证非正整数(负整数 + 0): ^((-\d+)|(0+))$验证中文的正则表达式集合验证所有东亚区的语言:^[\?-\?]+$验证简体和繁体:^[\一-\?]+$验证简体:^[\一-\龥]+$使用方法如下使用Regex对象先引用System.Text.RegularExpressionsstring s="^[0-9]*$";//正则表达式Regex reg=new Regex(s);if(!reg.IsMatch(this.textbox1.text)){MessageBox.Show("请输入数字");}各式各样的正则表达式参考大全(访问正则表达式实例库):^\d+$ //匹配非负整数(正整数 + 0)//匹配整数^\d+(\.\d+)?$ //匹配非负浮点数(正浮点数+ 0)^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9] *[1-9][0-9]*))$ //匹配正浮点数^((-\d+(\.\d+)?)|(0+(\.0+)?))$ //匹配非正浮点数(负浮点数 + 0)^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ //匹配负浮点数^(-?\d+)(\.\d+)?$ //匹配浮点数^[A-Za-z]+$ //匹配由26个英文字母组成的字符串^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串^[a-z]+$ //匹配由26个英文字母的小写组成的字符串^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串^\w+$ //匹配由数字、26个英文字母或者下划线组成的字符串^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$ //匹配email 地址^[a-zA-z]+://匹配(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$//匹配url匹配中文字符的正则表达式: [\u4e00-\u9fa5]匹配双字节字符(包括汉字在内):[^ 00- ff]匹配空行的正则表达式:\n[\s| ]*\r匹配HTML标记的正则表达式:/<(.*)>.*<\/>|<(.*) \/>/匹配首尾空格的正则表达式:(^\s*)|(\s*$)匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)* \.\w+([-.]\w+)*匹配网址URL的正则表达式:^[a-zA-z]+://(\w+(-\w+)*)(\.(\w +(-\w+)*))*(\?\S*)?$匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$匹配国内电话号码:(\d{3}-|\d{4}-)?(\d{8}|\d{7})?匹配腾讯QQ号:^[1-9]*[1-9][0-9]*$下表是元字符及其在正则表达式上下文中的行为的一个完整列表,具体到每个正则表达式符号:\ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

TextBox控件中只输入整数的几种方法方法一.
if(e.KeyChar!=8&&!Char.IsDigit(e.KeyChar)&&e.KeyChar!='.')
{ e.Handled = true; }
方法二: if ((e.KeyChar < 48 || e.KeyChar > 57) && (e.KeyChar != 8)
&&e.KeyChar!='.')
{ e.Handled = true; }
方法三:if (!Char.IsNumber(e.KeyChar) && !Char.IsPunctuation(e.KeyChar)
&& !Char.IsControl(e.KeyChar))
{ e.Handled = true;}
解释:其中e.KeyChar是键盘输入的键对应的字符,IsDigit函数可以判断是否为0到9的数字,Chr(8)为退格键,当e.Handled为True时,程序认为该KeyPress事件已经被处理过了,文本框的内容也就不会发生变化
如果文本需要输入小数的话,就要能够输入小数点".",而且小数点只能输入一次
//IsNumber:指定字符串中位于指定位置的字符是否属于数字类别
//IsPunctuation:指定字符串中位于指定位置的字符是否属于标点符号类别
//IsControl:指定字符串中位于指定位置的字符是否属于控制字符类别
注意: 这里是在输入时便限制其他类型的字符被写入TextBox;
就是说你不输入正确或你输入的不是数字我就不让你做其他任何工作!
霸道吧? 呵呵, 如果你不喜欢这种方式, 下面有几种允许用户先随便输入,
然后再判断, 如果不是整数, 我给你来个警告, 告诉你输入类型不正确, 请重新输入!
---不过在我看来, 这种做法有些不道德, 等着你犯错, 然后笑喜喜的逮到你: 小样被我抓到了吧!?
方法一: 正则表达式.
string regExp = /^[1-9][0-9]*$/;
if(!regExp.test( this.txtLogin.Text))
{
alert("只能是数字!");
this.txtLogin.clear();
return ;
}
方法二: 最没有想象力的(原始)判断方法---一个一个一个一个字符判断还需要加上个for循环和n个if
function isInt(a)
{ var b = "0123456789";
var i;
for (i = 0; i < a.length; i++)
{
var c = a.charAt(i);
if (b.indexOf(c) == -1) return false;
}
return true;
}。

相关文档
最新文档