的多個occurence什麼是正則表達式驗證輸入此PHP的正則表達式來驗證輸入
以下3行是有效
PROJ9450
PROJ9400-PROJ9401-PROJ9402 ..... PROJ{n}
PROJ9400_1-PROJ9400_2-PROJ9401_1-PROJ9402_1-PROJ9408 ... PROJ{n}_{n}
以下行是無效的字符串
PROJ450
PRO1223
PROJ9400a-PROJ9401-PROJ9400-PROJ1929-1-PROJ1929
PROJ9400_1-PROJ9400_2-PROJ9401_1-PROJ9402_1-PROJs453 ... PROJ{n}_{n}
我想這
if(preg_match('/(PROJ)[0-9]{4}(-|_)?[0-9]+)/', $input))
{
}
我可以分割並且可以驗證像類似下面,但我想通過單一的正則表達式來做到這一點
foreach(explode('-',$input) as $e)
{
if(!preg_match('/(PROJ)[0-9]{4}(-|_)?[0-9]+)/', $e))
{
return 'Invalid Input';
}
}
輸入可以通過PROJ只是前綴和4位數字
PROJ9450
或
輸入可以前綴PROJ和4位數字 - 前綴PROJ和d 4位數字,如本高達
n
PROJ9400-PROJ9401-PROJ9402 ..... PROJ {N}
OR
輸入可以通過PROJ前綴和4位數字undescore數字 - 通過PROJ和4位數字前綴強調這樣數字高達
n
PROJ9400_1-PROJ9400_2-PROJ94 01_1-PROJ9402_1 ... PROJ {N} _ {N}
您還應該顯示幾個無效的字符串(並解釋原因)。 –