Привет, я работаю над проектом технического обслуживания. Но в этот код кто-то добавил выражение preg_match для запрета бесплатных номеров. Бесплатные номера начинаются с кодов 800, 888, 877, 866, 855 или 844. Они будут отформатированы как 800-xxx-xxxx или 1- 800-xxx-xxxx или (800) xxx-xxxx или 800xxxxxxx или 1800xxxxxxx. и т.д.
Если номер бесплатный, введите ошибку: «Пожалуйста, введите здесь местный телефонный номер, а не бесплатный».
Ниже мой код: -
$getphone = $_POST['phone'];
/* ISSUE: This catches
1-800-450-7006
1 (800) 450-7006
1(800) 450-7006
but is not catching
(800) 450-7006
*/
if(!preg_match('/^(?!(?:1-)?(\\$|#|8(00|55|66|77|88)))\(?[\\s.-]*([0-9]{3})?[\\s.-]*\)?[\\s.-]*[0-9]{3}[\\s.-]*[0-9]{4}$/', $getphone)){
// Need to redirect back, not to profile
echo 'Please enter a local phone number here, not a toll free number'; die;
}
Может кто-нибудь помочь мне, как проверить этот случай (800) 450-7006. Спасибо