wpcf7_is_tel()
Перевіряє, чи переданий контент є номером телефону.
Хуки з функції
Повертає
null
. 1
– перевірку пройдено, 0
– перевірку не пройдено.
Алгоритм роботи
- Рядок обрізається за допомогою PHP функції trim() ;
Рядок перевіряється за допомогою PHP функції preg_match() на відповідність шаблону:
'%^[+]?' // Знак "+" спочатку . '(?:([0-9]+)|[0-9]+)' // (1234) або 1234 . '(?:[/ -]*' // роздільники (пробіл, дефіс) . '(?:([0-9]+)|[0-9]+)' // (1234) або 1234 . ')*$%';
Використання
wpcf7_is_tel ($ tel);
Приклади
#1 Перевіримо телефон
$tel = '+7 928 123 45 78'; if ( wpcf7_is_tel ( $ tel ) ) { echo 'Це номер телефону'; } else { echo 'Це не телефон'; }
Виведе Это номер телефона
, оскільки він справді коректний.
#2 Варіації перевірки
wpcf7_is_tel( '+7 928 123 45 78' ) // 1 wpcf7_is_tel('7 928 123 45 78') // 1 wpcf7_is_tel('+7-928-123-45-78') // 1 wpcf7_is_tel('15135354354') // 1 wpcf7_is_tel ( '45228665') // 1 wpcf7_is_tel('45 228 665') // 1 wpcf7_is_tel( '1' ) // 1 wpcf7_is_tel( '0' ) // 1 wpcf7_is_tel( '+7' ) // 1 wpcf7_is_tel(true) // 1 wpcf7_is_tel('+7.928.123.45.78') // 0 wpcf7_is_tel( '+ 7 928 123 45 78' ) // 0 wpcf7_is_tel( '15135sssss354354') // 0 wpcf7_is_tel( '15135привіт354354' ) // 0 wpcf7_is_tel('s 45 228 665') // 0 wpcf7_is_tel( '+ 45 228 665' ) // 0 wpcf7_is_tel( '+' ) // 0 wpcf7_is_tel(false) // 0 wpcf7_is_tel( new stdClass() ) // 0 і PHP Warning: trim() expects parameter 1 to be string, object given
Код wpcf7_is_tel() wpcf7 is tel CF7 5.6.2
function wpcf7_is_tel( $text ) { $text = preg_replace( '%[()/.*#s-]+%', '', $text ); $result = preg_match('/^[+]?[0-9]+$/', $text); return apply_filters( 'wpcf7_is_tel', $result, $text ); }