validate_username() WP 2.0.1

Перевіряє правильність написання імені користувача (username – логіна).

Якщо в імені користувача буде використано неприпустимі символи, то функція поверне false — перевірку не пройдено.

Дозволені символи: a-z _ - пробел . @, тобто. латинський алфавіт, цифри та _ - пробел . @.

Підходить для перевірки логіна , але не відображуваного імені! Т.к. основу роботи лежить функція sanitize_user() з другим параметром true, тобто. суворе очищення. Так, наприклад, всі кирилиці будуть видалені.

Працює на основі:
sanitize_user()

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

Повертає

true|false. true, якщо ім’я відповідає нормам, інакше false.

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

if( ! validate_username( $username ) ){
	// неправильний логін
}
$username
(рядок) (обов’язковий)
Ім’я користувача (логін) для перевірки.

Приклади

0

#1 Перевіримо логін новоствореного користувача та його існування у Базі Даних.

Якщо ім’я пройшло перевірку і такого користувача ще немає у БД, то зареєструємо користувача:

<?php
$username = $_POST['username'];
$error = false;
if( !validate_username( $username ) )
	$error = "В імені користувача використані неприпустимі символи!";
if ( !$error && username_exists( $username ) )
	$error = "Таке ім'я користувача вже використовується!";

if( !$error ){
	// можна реєструвати
}
?>

список змін

З версії 2.0.1Введено.
З версії 4.4.0Empty sanitized usernames як тепер вважається неправильним.

Код validate_username() WP 6.0.2

function validate_username( $username ) {
	$ sanitized = sanitize_user ($ username, true);
	$valid = ( $sanitized == $username && ! empty( $sanitized ) );

	/**
	 * Filters whether the provided username is valid.
	 *
	 * @ Since 2.0.1
	 *
	 * @param bool $valid Whether given username is valid.
	 * @param string $username Username to check.
	 */
	return apply_filters( 'validate_username', $valid, $username );
}

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

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