我需要一个正则表达式,要求密码至少包含8个字符和数字。
另外,是否有网站允许我自动生成正则表达式?
答案 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< - 良好密码
稍后编辑:我刚看到正则表达式前瞻的解决方案。虽然那个有效但我仍然相信这个问题只能通过一次遍历来解决,而且没有前瞻