wpcf7_is_number()CF7 1.0

Проверяет, является ли переданный контент числом или строкой, содержащей число.

Эта функция является обёрткой для PHP функции is_numeric(), то есть работает точно также. Отличие в том, что результат внутри пропускается через одноименный фильтр wpcf7_is_number, позволяющий добавить свои произвольные проверки.

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

Возвращает

null. Возвращает true, если контент является числом или строкой, содержащей число или false в противном случае.

Использование

wpcf7_is_number( $number );

Примеры

0

#1 Проверим, является ли переменная числом

$value = 7;

if ( wpcf7_is_number( $value ) ) {
	echo $value . ' это Число';
} else {
	echo $value . ' это НЕ число';
}

Выведет 7 это Число.

0

#2 Варианты проверок

wpcf7_is_number( 42 );              // true
wpcf7_is_number( 1337 );            // true
wpcf7_is_number( 1337 );            // true
wpcf7_is_number( 1337 );            // true
wpcf7_is_number( 1337 );            // true
wpcf7_is_number( 1337.0 );          // true
wpcf7_is_number( '02471' );         // true
wpcf7_is_number( '1337e0' );        // true
wpcf7_is_number( 9.1 );             // true
wpcf7_is_number( '0x539' );         // false
wpcf7_is_number( '0b10100111001' ); // false
wpcf7_is_number( 'not numeric' );   // false
wpcf7_is_number( [] );              // false
wpcf7_is_number( null );            // false

Код wpcf7_is_number() CF7 5.6.4

function wpcf7_is_number( $text ) {
	$result = false;

	$patterns = array(
		'/^[-]?[0-9]+(?:[eE][+-]?[0-9]+)?$/',
		'/^[-]?(?:[0-9]+)?[.][0-9]+(?:[eE][+-]?[0-9]+)?$/',
	);

	foreach ( $patterns as $pattern ) {
		if ( preg_match( $pattern, $text ) ) {
			$result = true;
			break;
		}
	}

	return apply_filters( 'wpcf7_is_number', $result, $text );
}