我發現了很多php正則表達式和其他選項來確定字符串長度,如果它包含一個字母或一個數字,但是如何確定一個字符串是否有2數字在裏面?PHP檢查字符串有2個數字,8個字符和1個大寫
我試圖驗證密碼
必須只有8個字符
其中之一必須是大寫字母
其中2個必須是數字
是否有單行正則表達式解決方案 這個?
我發現了很多php正則表達式和其他選項來確定字符串長度,如果它包含一個字母或一個數字,但是如何確定一個字符串是否有2數字在裏面?PHP檢查字符串有2個數字,8個字符和1個大寫
我試圖驗證密碼
必須只有8個字符
其中之一必須是大寫字母
其中2個必須是數字
是否有單行正則表達式解決方案 這個?
if (preg_match(
'/^ # Start of string
(?=.*\p{Lu}) # at least one uppercase letter
(?=.*\d.*\d) # at least two digits
.{8} # exactly 8 characters
$ # End of string
/xu',
$subject)) {
# Successful match
(?=...)
是lookahead assertion。它檢查某個正則表達式是否可以在當前位置進行匹配,但實際上並沒有消耗字符串的任何部分,因此您可以將其中幾個放在一行中。
爲什麼要將密碼的長度限制爲8個字符?希望你沒有爲銀行工作...... – 2012-04-27 21:59:56
客戶要求它 – 2012-04-27 22:08:17
只是你是我的英雄。真棒解決方案。 – 2012-04-27 22:08:35