正则表达帮助

时间:2011-05-23 09:18:17

标签: asp.net regex visual-studio-2010

我需要一个正则表达式,要求密码至少包含8个字符和数字。

另外,是否有网站允许我自动生成正则表达式?

4 个答案:

答案 0 :(得分:2)

我建议您使用2个正则表达式验证:

\d

.{8,}

更容易理解。

答案 1 :(得分:1)

这将检查密码字符串中的数字

^(?=.*\d+)[\w]{8,}$

答案 2 :(得分:1)

using System;
using System.Text;
using System.Text.RegularExpressions;
namespace TestConsoleAppCSharp
{



      class Program
        {
            static void Main(string[] args)
            {
                string[] passwords = {"test123", "testtest", "testtest123"};
                foreach (string pw in passwords)
                {
                    Console.WriteLine(Regex.IsMatch(pw, @"^.*(?=.{8,})(?=.*\d)") ? String.Format("{0}: Yepp", pw) : String.Format("{0}: Nope", pw));
                }
            }
        }
    }

答案 3 :(得分:0)

如果“8个字符和数字”中的字符表示“非数字字符”,那么我就不会使用正则表达式来验证这一点。使用一个正则表达式来完成它太复杂了。

更容易检查每个字符并增加两个变量(一个非数字字符'c'和一个数字'd')并检查最后的值:

d> = 1&& c> = 1&& d + c> = 8< - 良好密码

稍后编辑:我刚看到正则表达式前瞻的解决方案。虽然那个有效但我仍然相信这个问题只能通过一次遍历来解决,而且没有前瞻