需要匹配一串字符,要求:
1.6到10为的英文与数字
2.必须包含$与@字符(任意位置)
3.不能有空格

解决方案 »

  1.   


    using System;
    using System.Text;
    using System.Text.RegularExpressions;class Test
    {
        static void Main()
        {
            Console.WriteLine("Please Input information");
            string strInput = Console.ReadLine();
            int strInputLength = strInput.Length;
            if (strInputLength > 0 || strInputLength <= 10)
            {
                if (strInput.IndexOf("$") >= 0 && strInput.IndexOf("@") >= 0)
                {
                    Match M = Regex.Match(strInput, "[a-zA-Z0-9]{6,10}");
                    if (M.Success)
                    {
                        Console.WriteLine("OK");
                    }
                    else
                    {
                        Wrong();
                    }
                }
                else
                {
                 Wrong();
                }
            }
            else
            { 
             Wrong();
            }
            Console.ReadKey();
        }    static void Wrong()
        {
            Console.WriteLine("Failed");
        }
    }
      

  2.   

    建议分两步:
    1。不存在空格且6~10为字母数字
    2。看是否存在$,@
                if (Regex.Match("你的串", @"^[^\s]{5}[A_Za_z0_9]{5}$").Success)
                    if (Regex.Match("你的串", @"@|\u0024").Success)
                        return false;
                    else
                        return true;
                else
                    return false;
      

  3.   

    晕,又没看清要求
    下面的是对的
                if (Regex.Match("你的串", @"^[^\s]{5}[A_Za_z0_9]{5}$").Success)
                    if (Regex.Match("你的串", @"@.*\u0024|\u0024.*@").Success)
                        return true;
                    else
                        return false;
                else
                    return false;
      

  4.   

    不测果然不行
    下面这个测了
                if (Regex.Match("你的串", ^[^\s]{5}[a-z0-9A-Z]{5}[^\s]*$").Success)
                    if (Regex.Match("你的串", @"@.*\u0024|\u0024.*@").Success)
                        return true;
                    else
                        return false;
                else
                    return false;
      

  5.   

      if (Regex.Match("你的串", @"^[^\s]{5}[A_Za_z0_9]{5}$").Success)
                    if (Regex.Match("你的串", @"@.*\u0024|\u0024.*@").Success)
                        return true;
                    else
                        return false;
                else
                    return false;此代码思路有问题..LZ请仔细观看....应该是先判断是否包括那两个字符,然后判断字符是否正常...
      

  6.   

    第四次...汗了
              if (Regex.Match("你的串", @"^[^\s]{5}[a-z0-9A-Z]{5}[^\s]*$").Success)
                    if (Regex.Match("你的串", @"@.*\u0024|\u0024.*@").Success)
                        return true;
                    else
                        return false;
                else
                    return false;
      

  7.   

    6到10为的英文与数字
    我刚才理解成第6到第10位为英文与数字...改正一下吧:
               if (Regex.Match("你的串", @"^[a-z0-9A-Z\u0024@]{6,10}$").Success)
                    if (Regex.Match("你的串", @"@.*\u0024|\u0024.*@").Success)
                        return true;
                    else
                        return false;
                else
                    return false;