【问题标题】:Regex input only number and backspace正则表达式仅输入数字和退格
【发布时间】:2015-10-06 08:31:45
【问题描述】:

我有代码

private void DataGridTypePayments_PreviewTextInput(object sender, TextCompositionEventArgs e)
        {
            e.Handled = new Regex("[^0-9]+").IsMatch(e.Text); 
        }

我需要输入数字或退格。如何禁用输入符号空间?

【问题讨论】:

标签: c# wpf datagrid


【解决方案1】:

退格字符的 C 样式转义是 \b,这也是单词边界的正则表达式转义。幸运的是你可以把它放在一个字符类中来改变含义:

e.Handled = Regex.IsMatch(e.Text, "[0-9\b]+");

【讨论】:

  • 您的代码不适合,我需要只能输入数字和退格
  • 所以翻转条件。字符范围[0-9\b] 是所有数字和退格。如果您想检测其他任何内容,请将其翻转到 [^0-9\b] - 除了数字和退格之外的任何内容。
  • [^0-9\b] 是不错的版本,但还是输入了空格字符。如何输入禁止空格字符?
  • 那个模式不匹配空格字符,只有退格和数字。您如何使用更多代码和使用方式的解释来编辑您的问题,以便我更好地了解您实际在做什么。
猜你喜欢
  • 2020-01-08
  • 1970-01-01
  • 2012-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多