我想驗證表單中的電話號碼。我想檢查這樣的數字,「(」和「)」字符只是有效的。所以用戶可以填寫+31(0)600000000。表格中已經預設了+31。只有下面的代碼可以使用這個數字,只有如何添加這兩個字符?使用Symfony驗證電話號碼
還是有更好的方法來驗證電話號碼嗎?
@Assert\Length(min = 8, max = 20, minMessage = "min_lenght", maxMessage = "max_lenght")
@Assert\Regex(pattern="/^[0-9]*$/", message="number_only")
是不是也有可能是(0 )不是必需的,但是可選的?所以(0)600000000和600000000都是有效的。 – Tom
'/ ^(\(0 \))?[0-9] + $ /'將允許可選的「(0)」。你也可以通過使用'^((\ + 31)?\(0 \))'來使用'+ 31','+ 0'和' + $'。所以'+31(0)60..','(0)60..'和'60..'將會有效,而'+ 3160..'不會。 – qooplmao
你也可以在'[0-9]'之後加'9'來只允許一個9個數字的字符串,比如'/ ^(\(0 \))?[0-9] {9} $ /'意思是'(0)600000000'會有效,而'(0)600000'不會。 – qooplmao