2011-02-27 51 views
0

我需要一個函數來返回給定的字符串是否至少包含x個特殊字符。限制密碼至少包含x個特殊字符?

我寧願它不應該硬編碼。

僞代碼:

public bool IsValid(string password, int minSpecialCharacters) 
{ 
    if (!string.IsNullOrWhiteSpace(password)) 
    return 
     password.Count(c => char.IsSpecialCharacter(c)) < minSpecialCharacters; 
    return true; 
} 
+0

而像這樣的語言會怎樣? – 2011-02-27 22:02:08

+0

有一個簡單的解決方案:將所有非字母數字(即[[^ A-Za-z0-9])都視爲特殊字符。用字符串計數它們也很簡單。 – Artefact2 2011-02-27 22:10:43

+0

@ Arefact2我不明白你爲什麼不發佈這個答案,你想讓別人來做它,並獲得你的聲譽!? – Shimmy 2011-02-28 02:16:07

回答

0

使用char.IsLetterOrDigit,否定的:

public bool IsValid(string password, int minSpecialCharacters) 
{ 
    return password.Count(c => !char.IsLetterOrDigit(c)) >= minSpecialCharacters; 
} 
相關問題