簡體   English   中英

正則表達式幫助

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM