如题,想写个方法判断文本框输入的密码复杂度是否是三种字符(数字、字母和特殊符号),如果不是则提示重新输入。

解决方案 »

  1.   

    用正侧判断三次。
    \d
    [a-zA-Z]
    特殊字符
      

  2.   

    int reg_pass = 0;
                Regex reg = new Regex("^((?![{}\\[\\],<>@$%&^()_+=0-9]+$)(?![{}\\[\\],<>@$%&^()_+=a-z]+$)(?![{}\\[\\],<>@$%&^()_+=A-Z]+$)(?![A-Z0-9]+$)(?![A-Za-z]+$)(?![a-z0-9]+$)[{}\\[\\],<>@$%&^()_+=0-9a-zA-Z]{6}|(?![{}\\[\\],<>@$%&^()_+=]+$)(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)[{}\\[\\],<>@$%&^()_+=0-9a-zA-Z]{8})$");
                Regex r = new Regex("^(?:(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])|(?=.*[A-Z])(?=.*[a-z])(?=.*[^A-Za-z0-9])|(?=.*[A-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])|(?=.*[a-z])(?=.*[0-9])(?=.*[^A-Za-z0-9])).{6,}|(?:(?=.*[A-Z])(?=.*[a-z])|(?=.*[A-Z])(?=.*[0-9])|(?=.*[A-Z])(?=.*[^A-Za-z0-9])|(?=.*[a-z])(?=.*[0-9])|(?=.*[a-z])(?=.*[^A-Za-z0-9])|(?=.*[0-9])(?=.*[^A-Za-z0-9])|).{8,}");
                bool x = r.IsMatch(textBox2.Text);
                if (r.IsMatch(textBox2.Text))
                { reg_pass = 1; }
                else
                { reg_pass = 0; }以上为网上找的判断密码复杂度最少为三种字符的代码,可是reg_pass 永远是== 1,可能判断语句有误,请高手指点,谢谢!
      

  3.   

    function checkPassword(pwd)
    {
      var p1= (pwd.search(/[a-zA-Z]/)!=-1) ? 1 : 0;
      var p2= (pwd.search(/[0-9]/)!=-1) ? 1 : 0;
      var p3= (pwd.search(/[^A-Za-z0-9_]/)!=-1) ? 1 : 0;
     }
    http://topic.csdn.net/u/20090922/11/e50eb3e8-45a9-4aec-8f7a-2c679fca97c0.html