需要正则表达式模式来验证密码模式

时间:2015-08-31 06:26:32

标签: c# regex

我们需要针对以下模式验证密码。  “Xabcdef99 *”[第一个字母大写,第二个到第七个字母小写,第八个到第九个数字,最后一个字符符号]

有人能为我提供同样的正则表达式吗?如何在C#中针对该Regex验证以下密码。

Userpcs12 * - >有效

Testeur333 - >无效(因为最后一个字符不是符号)

userpcs12 * - >无效(因为第一个字符不是大写的)

3 个答案:

答案 0 :(得分:3)

你可以试试这个,

^[A-Z][a-z]{6}\d{2}[~!@#$%^&*]$

在最后一个字符类中添加所需的符号。

^[A-Z][a-z]{6}\d{2}\W$

\W匹配任何非单词字符。如果您将[\W_]视为特殊字符,请将其更改为_

答案 1 :(得分:0)

试试这个:

        Regex regex = new Regex(@"^[A-Z][a-z]{6}\d{2}\W$");
        Assert.IsTrue(regex.IsMatch("Xabcdef99*"));
        Assert.IsTrue(regex.IsMatch("Xabcdef99$"));
        Assert.IsFalse(regex.IsMatch("Testeur333"));
        Assert.IsFalse(regex.IsMatch("userpcs12*"));

答案 2 :(得分:0)

检查此正则表达式:

\A\p{Lu}\p{Ll}{6}\d{2}[~!@#$%^&*]\z

\p{Lu}匹配大写字母

\p{Ll}匹配小写字母

regex101上的

Demo