林有一個漂亮的正則表達式生成器看起來像這樣:然後正則表達式C#密碼刪除空格
string numberOfDigits = "2";
string numberOfCaps = "2";
string numberOfChars = "3";
string numberOfNonAlpha = "3";
string minLength = "10";
string rexExString = "^(?=.*\\d{" + numberOfDigits + "})(?=.*[A-Z]{" + numberOfCaps + "})(?=.*[a-z]{" + numberOfChars + "})(?=.*[[email protected]#$%^&*()]{" + numberOfNonAlpha + "}).{" + minLength + ",}$";
輸出將是:
^(?=.*\d{2})(?=.*[A-Z]{2})(?=.*[a-z]{3})(?=.*[[email protected]#$%^&*()]{3}).{10,}$
這樣我可以指定多少個數字,字符,nonalpha等我想要我的密碼。我想保持這種方式。唯一的問題是它也接受空格,我不想爲我的密碼。
我的問題
如何不讓空格我正則表達式,但保持它的格式,所以我可以在上面的例子中指定的變量。
^(?=.*\d{2})(?=.*[A-Z]{2})(?=.*[a-z]{3})(?=.*[[email protected]#$%^&*()]{3}).{10,}$
你的正則表達式強制兩個數字一起出現*一起*,與其他檢查類似 - 是否真的是你想要的?大多數密碼策略只是堅持字符數量,而不是它們發生的地方。 –
你不應該使用'\ d'。你應該使用'[0-9]'。 '\ d'匹配非歐洲數字http://msdn.microsoft.com/en-us/library/w1c0s6bb.aspx – xanatos