wpf 怎么限制文本框只能输入数字,中文以及英文

.Net技术 码拜 8年前 (2016-03-03) 3502次浏览
用正则表达式,则输入法为中文时,部分字符还是能输进去的?各位高手有没有好的解决办法,谢谢!
解决方案

1

顶一个wpf 怎么限制文本框只能输入数字,中文以及英文

5

最好是需要提交数据的时候验证
xxx.Text = Regex.Replace(xxxxx.Text,@”[^a-zA-Z0-9]”,””);

3

本人记得回复过,wpf下监控change的事件是什么?反正就是在那个事件里,获取输入框数据,然后进行正则,将不符合条件的字符全部替换掉

1

没必要提示,假如你真觉得要提示,那么你可以比较下替换后字符串的长度和原始长度,不一致就是有不允许的字符

10

/// <summary>
        /// 只能输入数字
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void TxtIndex_KeyDown(object sender, KeyEventArgs e)
        {
            TextBox txt = sender as TextBox;
            //屏蔽非法按键
            if ((e.Key >= Key.NumPad0 && e.Key <= Key.NumPad9) || e.Key == Key.Decimal || e.Key.ToString() == "Tab")
            {
                if (txt.Text.Contains(".") && e.Key == Key.Decimal)
                {
                    e.Handled = true;
                    return;
                }
                e.Handled = false;
            }
            else if (((e.Key >= Key.D0 && e.Key <= Key.D9) || e.Key == Key.OemPeriod) &&
                     e.KeyboardDevice.Modifiers != ModifierKeys.Shift)
            {
                if (txt.Text.Contains(".") && e.Key == Key.OemPeriod)
                {
                    e.Handled = true;
                    return;
                }
                e.Handled = false;
            }
            else
            {
                e.Handled = true;
            }
        }

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明wpf 怎么限制文本框只能输入数字,中文以及英文
喜欢 (0)
[1034331897@qq.com]
分享 (0)