[英]Regular expression help
我需要一個要求密碼至少包含8個字符和一個數字的正則表達式。
另外,是否有一個網站可以讓我自動生成正則表達式?
我建議您使用2個正則表達式驗證:
\d
和
.{8,}
更容易理解。
這將檢查密碼字符串中的數字
^(?=.*\d+)[\w]{8,}$
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));
}
}
}
}
如果“ 8個字符和一個數字”中的字符表示“非數字字符”,那么我不會使用正則表達式來對此進行驗證。 用一個正則表達式太復雜了。
僅檢查每個字符並增加兩個變量(一個非數字字符'c',一個用於數字'd')並最后檢查值會更容易:
d> = 1 && c> = 1 && d + c> = 8 <-好的密碼
以后的編輯:我剛剛看到了正則表達式的解決方案。 盡管這是可行的,但我仍然相信,只需一次遍歷即可解決此問題,而無需提前
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.