zoukankan      html  css  js  c++  java
  • Silverlight中TextBox禁止输入和粘贴非数值字符

    说明:Silverlight程序中有一个文本框控件TextBox名为textBox1,TextChanged事件处理函数如下,利用正则表达式禁止输入和粘贴非数值字符。允许输入的特殊字符包括一个英文句点和一个负号,且句点必须不能是第一个字符,如果有负号则必须是第一个字符。

    private string originStr = "";//存放符合要求的数值字符串
            private Regex regex = new Regex(@"^[+-]?(?!0\d)\d+(\.[0-9]+)?$");//数值字面量正则表达式
            private void textBox1_TextChanged(object sender, TextChangedEventArgs e)
            {
                string txtStr = textBox1.Text;
                if (string.IsNullOrEmpty(txtStr))
                {
                    originStr = "";
                    return;
                }
                if (txtStr.IndexOf('.') > 0 && txtStr.LastIndexOf('.') == txtStr.Length - 1 && txtStr.IndexOf('.') == txtStr.LastIndexOf('.'))
                {
                    if (txtStr.IndexOf('-') == 0 && txtStr.IndexOf('.') == 1)
                    {
                    }
                    else
                    {
                        originStr = txtStr;
                        return;
                    }
                }
                else if (txtStr.IndexOf('-') == 0 && txtStr.LastIndexOf('-') == 0 && txtStr.LastIndexOf('-') == txtStr.Length - 1)
                {
                    originStr = txtStr;
                    return;
                }
                else if (regex.IsMatch(txtStr))
                    originStr = txtStr;
                else
                {
                    textBox1.Text = originStr;
                    if (!string.IsNullOrEmpty(txtStr))
                        textBox1.Select(originStr.Length, 1);
                }
            }


     

  • 相关阅读:
    18、监听器/国际化
    17、过滤器
    16、连接池/分页技术
    15、Jdbc的优化(BeanUtils组件)
    14、知识回顾
    13、mysql/触发器
    12、Jsp加强/自定义标签/JavaBean
    11、Jsp加强/EL表达式/jsp标签
    10、会话管理/编程实战分析/Jsp
    9、Http回顾/Servlet
  • 原文地址:https://www.cnblogs.com/liancs/p/3879264.html
Copyright © 2011-2022 走看看