2 ftlovexg ftlovexg 于 2015.06.12 11:39 提问

求一个正则表达式验证登录账号密码格式的~~多谢啦~~~~~~~~~~~~~~~~~

用户、管理员、特殊账号设置密码必须强制符合以下要求:
1. 不能包含用户名
2. 密码内容必须包含以下元素中的3种:
• 英文大写字母(A -- Z)
• 英文小写字母 (a -- z)
• 数字r (0 -- 9)
• 特殊字符

多谢啦~~
我参考别人写的,满足不了上面的需求,,谢谢啦~
^(?![a-zA-Z0-9]+$)(?![^a-zA-Z/D]+$)(?![^0-9/D]+$).{8,20}$

3个回答

orac12
orac12   2015.06.12 13:04

(?=^.{8,}$)(?=.*\d)(?=.*\W+)(?=.*[A-Z])(?=.*[a-z])(?!.*\n).*$
这个应该可以把。。。可以试一下

ftlovexg
ftlovexg string txtVal = "(?=^.{8,}$)(?=.*\\d)(?=.*\\W+)(?=.*[A-Z])(?=.*[a-z])(?!.*\n).*$"; string val = "^(?![a-zA-Z0-9]+$)(?![^a-zA-Z/D]+$)(?![^0-9/D]+$).{10,20}$"; if (Regex.IsMatch("AA11321234", txtVal)) { Console.WriteLine("OK"); Console.ReadLine(); return; } Console.WriteLine("NO OK"); Console.ReadLine();
2 年多之前 回复
ftlovexg
ftlovexg 我试一下看看,谢谢
2 年多之前 回复
ftlovexg
ftlovexg   2015.06.12 13:52

试了下,不行啊。。。A@111111234,这样的字符串都过不去。。。

        string txtVal = "(?=^.{8,}$)(?=.*\\d)(?=.*\\W+)(?=.*[A-Z])(?=.*[a-z])(?!.*\n).*$";
        string val = "^(?![a-zA-Z0-9]+$)(?![^a-zA-Z/D]+$)(?![^0-9/D]+$).{10,20}$";

        if (Regex.IsMatch("AA11321234", txtVal))
        {
            Console.WriteLine("OK");
            Console.ReadLine();
            return;
        }
        Console.WriteLine("NO OK");
        Console.ReadLine();
orac12
orac12   2015.06.12 14:16

(?=^.{8,}$)(?=.*\d)(?=.*\W+)(?=.*[A-Z])(?=.*[a-z])(?!.*\n).*$
这个匹配 由数字/大写字母/小写字母/标点符号组成的密码

/^[a-zA-Z0-9_-]{6,18}$/这也是一个密码的正则表达式,但是相对来说有密码字符个数的限制。
平时没有用过,你可以修改一下试试

ftlovexg
ftlovexg 哦好的,谢谢啦
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片