首页 技术 正文
技术 2022年11月15日
0 收藏 346 点赞 3,714 浏览 1034 个字

原文地址

http://blog.csdn.net/ghosind/article/details/51627601

作者 ghosind

一,正则表达式过滤字符串

if (RegexString == null){    switch (ConstraintType)    {        case RestrictType.Int:    // 整数            RegexString = @"^[-]?([\d]+)?$";            break;        case RestrictType.UInt:   // 非负整数            RegexString = @"^[\d]+$";            break;        case RestrictType.Double:   // 浮点数            RegexString = @"^[-]?([0-9]+)?[.]?([0-9]+)?$";            break;        case RestrictType.UDouble:    // 正非负浮点数            RegexString = @"^[0-9]+[.]?([0-9]+)?$";            break;        case RestrictType.None:   // 无限制        default:            RegexString = "";            break;    }}

二,PreviewTextInput事件 获取textbox 的完整文本,(正常textbox.text是输入前的文本)

if (!Regex.IsMatch(this.Text + e.Text, RegexString)){    e.Handled = true;}

但是如果不是在最后方输入  直接加起来就不行了,这里用到CareIndex属性,(当前光标的位置)

if (!Regex.IsMatch(this.Text.Insert(this.CaretIndex, e.Text), RegexString)){    e.Handled = true;}

但是如果选中一段文字再输入,结果仍然是错误的,所以原作者又用了一个属性SelectionLength,选择文本的长度

最终得到输入后的所有文本的方法终于实现,

private void PreviewTextInput(object sender, TextCompositionEventArgs e){    try    {        if (!Regex.IsMatch(this.Text.Remove(this.CaretIndex,            ).            Insert(this.CaretIndex, e.Text), RegexString))        {            e.Handled = true;        }    }    catch (Exception)    {    }}

三,用正则表达式过滤输入文本,这个网上资料多得很就不抄了,向原作者致敬

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,084
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,559
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,408
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,181
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,818
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,901