见代码如下:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApp1 { public partial class FormFYSD : Form { public FormFYSD() { InitializeComponent(); } private void textBox3_KeyPress(object sender, KeyPressEventArgs e) { bool result = false; //判断当前textBox是否为空 if (!string.IsNullOrEmpty(textBox3.Text.Trim())) { //Regex rex = new Regex(@"^[0-9]*$"); Regex rexFull = new Regex(@"^[0-9]+(.[0-9]{0,1})?$"); //判断输入是否是退格键 if (e.KeyChar == '\b') { result = false; } else { //判断是否匹配正则表达式 if (rexFull.IsMatch(textBox3.Text.Trim()) || rexFull.IsMatch(textBox3.Text.Trim() + e.KeyChar.ToString())) { //判断字符串中小数点的位数 if (Regex.Matches(textBox3.Text.Trim() + e.KeyChar.ToString(), "\\.").Count == 2) { result = true; } else { //判断输入字符是否是数字或者小数点 if (!(char.IsNumber(e.KeyChar) || e.KeyChar == (char)('.'))) { result = true; } else { result = false; } } } else { result = true; } } } else { if (e.KeyChar < '0' || e.KeyChar > '9')//这是不允许输入0-9数字 { result = true; } else { result = false; } } e.Handled = result; } } }
这里需要注意添加一个引用:using System.Text.RegularExpressions;否则Regex无法识别。
本文转载自:https://jingyan.baidu.com/article/d3b74d640ff6cf1f77e6098f.html
作者对转载者要求说明(以下简称本说明):
1、确保您已经遵守了《中华人民共和国信息网络传播权保护条例》,且必须遵守《刚刚网络作品版权声明》(若两文件有冲突内容以《中华人民共和国信息网络传播权保护条例》为准,但其他非冲突内容依然各自有效),再转载。
2、“本说明、作者、作者博客网址及作者博客坐落,本文中提及的各种说明、备注或附录性文字”必须被转载,且不得改变其原有内容和要表达的意图!
作者:刚刚 作者博客网址:http://lijigang.cnblogs.com/ 作者博客坐落在博客园
把握现实生活,培养自身能力
掌握新型技术,提高自我力量