wpcf7_is_tel() CF7 1.0

Перевіряє, чи переданий контент є номером телефону.

Хуки з функції

Повертає

null. 1– перевірку пройдено, 0– перевірку не пройдено.

Алгоритм роботи
  1. Рядок обрізається за допомогою PHP функції trim() ;
  2. Рядок перевіряється за допомогою PHP функції preg_match() на відповідність шаблону:

    '%^[+]?' // Знак "+" спочатку
    . '(?:([0-9]+)|[0-9]+)' // (1234) або 1234
    . '(?:[/ -]*' // роздільники (пробіл, дефіс)
    . '(?:([0-9]+)|[0-9]+)' // (1234) або 1234
    . ')*$%';

Використання

wpcf7_is_tel ($ tel);

Приклади

0

#1 Перевіримо телефон

$tel = '+7 928 123 45 78';

if ( wpcf7_is_tel ( $ tel ) ) {
	echo 'Це номер телефону';
} else {
	echo 'Це не телефон';
}

Виведе Это номер телефона, оскільки він справді коректний.

0

#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() 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 );
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *