第一个我测试了下,貌似不好多BUG ,考虑的不周全!!!第二个我明天测试下!

解决方案 »

  1.   

    如果只允许单个数字
    ^\d(\|\d)*$
    如果允许多位数字
    ^\d+(\|\d+)*$
      

  2.   

    你这个是匹配数字的,假如两者混搭呢?怎么匹配呢?两者混搭?你要搭配些什么,写几个样本出来看看?就是中英文结合,不用限制只输入数字,限制成可以输入中文和英文,或者是数字  这样就成!string csdn="我们|123|eee222啊啊"这样子,就是可以输入中文和数字,英文!
      

  3.   

    你这个是匹配数字的,假如两者混搭呢?怎么匹配呢?两者混搭?你要搭配些什么,写几个样本出来看看?就是中英文结合,不用限制只输入数字,限制成可以输入中文和英文,或者是数字  这样就成!string csdn="我们|123|eee222啊啊"这样子,就是可以输入中文和数字,英文!那就
    ^\ [u4e00-u9fa5\w\d]+(\| [u4e00-u9fa5\w\d]+)*$
      

  4.   

    你这个是匹配数字的,假如两者混搭呢?怎么匹配呢?两者混搭?你要搭配些什么,写几个样本出来看看?就是中英文结合,不用限制只输入数字,限制成可以输入中文和英文,或者是数字  这样就成!string csdn="我们|123|eee222啊啊"这样子,就是可以输入中文和数字,英文!那就
    ^\ [u4e00-u9fa5\w\d]+(\| [u4e00-u9fa5\w\d]+)*$
    不行哦!!!
      

  5.   

    你这个是匹配数字的,假如两者混搭呢?怎么匹配呢?两者混搭?你要搭配些什么,写几个样本出来看看?就是中英文结合,不用限制只输入数字,限制成可以输入中文和英文,或者是数字  这样就成!string csdn="我们|123|eee222啊啊"这样子,就是可以输入中文和数字,英文!那就
    ^\ [u4e00-u9fa5\w\d]+(\| [u4e00-u9fa5\w\d]+)*$
    不行哦!!!没注意到写错了
                var regex = new Regex(@"^[\u4e00-\u9fa5\w\d]+(\|[\u4e00-\u9fa5\w\d]+)*$", RegexOptions.Singleline | RegexOptions.Compiled);
                var samples = new string[] { 
                "1|2|",
                "1|abc|222|中文",
                "我们|123|eee222啊啊",
                "2",
                "|ss|"
                };
                foreach(var item in samples)
                {
                    Console.WriteLine("{0} ----> match = {1}", item, regex.IsMatch(item));
                }
    运行结果:1|2| ----> match = False
    1|abc|222|中文 ----> match = True
    我们|123|eee222啊啊 ----> match = True
    2 ----> match = True
    |ss| ----> match = False
      

  6.   

    你这个是匹配数字的,假如两者混搭呢?怎么匹配呢?两者混搭?你要搭配些什么,写几个样本出来看看?就是中英文结合,不用限制只输入数字,限制成可以输入中文和英文,或者是数字  这样就成!string csdn="我们|123|eee222啊啊"这样子,就是可以输入中文和数字,英文!那就
    ^\ [u4e00-u9fa5\w\d]+(\| [u4e00-u9fa5\w\d]+)*$
    不行哦!!!没注意到写错了
                var regex = new Regex(@"^[\u4e00-\u9fa5\w\d]+(\|[\u4e00-\u9fa5\w\d]+)*$", RegexOptions.Singleline | RegexOptions.Compiled);
                var samples = new string[] { 
                "1|2|",
                "1|abc|222|中文",
                "我们|123|eee222啊啊",
                "2",
                "|ss|"
                };
                foreach(var item in samples)
                {
                    Console.WriteLine("{0} ----> match = {1}", item, regex.IsMatch(item));
                }
    运行结果:1|2| ----> match = False
    1|abc|222|中文 ----> match = True
    我们|123|eee222啊啊 ----> match = True
    2 ----> match = True
    |ss| ----> match = False如果只能输入英文呢??应该怎么写呢???
      

  7.   

    你这个是匹配数字的,假如两者混搭呢?怎么匹配呢?两者混搭?你要搭配些什么,写几个样本出来看看?就是中英文结合,不用限制只输入数字,限制成可以输入中文和英文,或者是数字  这样就成!string csdn="我们|123|eee222啊啊"这样子,就是可以输入中文和数字,英文!那就
    ^\ [u4e00-u9fa5\w\d]+(\| [u4e00-u9fa5\w\d]+)*$
    不行哦!!!没注意到写错了
                var regex = new Regex(@"^[\u4e00-\u9fa5\w\d]+(\|[\u4e00-\u9fa5\w\d]+)*$", RegexOptions.Singleline | RegexOptions.Compiled);
                var samples = new string[] { 
                "1|2|",
                "1|abc|222|中文",
                "我们|123|eee222啊啊",
                "2",
                "|ss|"
                };
                foreach(var item in samples)
                {
                    Console.WriteLine("{0} ----> match = {1}", item, regex.IsMatch(item));
                }
    运行结果:1|2| ----> match = False
    1|abc|222|中文 ----> match = True
    我们|123|eee222啊啊 ----> match = True
    2 ----> match = True
    |ss| ----> match = False如果只能输入英文呢??应该怎么写呢???顺便把英文跟数字的搭配限制也写出来吧!谢谢了!
      

  8.   

    去掉  \u4e00-\u9fa5,,就是限制只能输入英文和数字
      

  9.   

    只输入英文, 可以用[a-zA-Z]pattern = @"^[a-zA-Z]+(\|[a-zA-Z]+)*$"允许英文和数字pattern = @"^[a-zA-Z\d]+(\|[a-zA-Z\d]+)*$"