我試圖創建一個正則表達式模式匹配(對於密碼)其中字符串必須是8到30個字符,必須至少有2數字,至少2個字母(不區分大小寫),至少1個特殊字符,且不包含空格。正則表達式匹配的至少2位,2個字母以任何順序在一個字符串
我有空格和特殊字符匹配的工作,但在2位和2個英文字母我得到拋出,因爲他們並不需要是連續的。
即它應該匹配a1b2c$
或ab12$
或1aab2c$
。
像這樣的信嗎?
(?=.*[a-zA-Z].*[a-zA-Z]) // Not sure.
這個字符串下面的作品,但只有2個字母是連續和2號是如果字母,數字,特殊字符相互交織consecutive..it失敗。
(?=^.{8,30}$)((?=.*\\d)(?=.*[A-Za-z]{2})(?=.*[0-9]{2})(?=.*[[email protected]#$%^&*?]{1})(?!.*[\\s]))^.*
你真的確認你需要正則表達式的呢? – Scorpil 2013-03-13 18:54:48
我認爲對正則表達式,只是對每一個與if語句和某種string.contains()函數單獨檢查。 gparyani給出了一個似乎比正則表達式更好的解決方案 – user1751547 2013-03-13 19:13:32
它看起來像我需要正則表達式,因爲這是一個Liferay配置的一部分。 – user2166893 2013-03-13 20:14:04