求个正则表达式,6-32位,数字和字母组成,不能是纯字母或纯数字的

解决方案 »

  1.   

    [da-zA-Z]*d+[a-zA-Z]+[da-zA-Z]*
    解释:
          d匹配长度至少1的、由数字组成的字符串。
          [a-zA-Z]+匹配长度至少1的、由字母组成的字符串。
         [da-zA-Z]*匹配空字符串,或者长度至少1的、由数字或字母组成的字符串。
          d+[a-zA-Z]+保证密码既包含了数字又包含特殊字符。
      

  2.   


    //刚才找到了一个比较牛逼的正则:
    //看一下
    Regex reg = new Regex(@"^(?=[a-zA-Z\d]*?\d)(?=[a-zA-Z\d]*?[a-zA-Z])[a-zA-Z\d]{6,32}$");
    string input = "23adf23asdf34df";
    if (reg.IsMatch(input))
         return true;
    else
         return false;