validate_username

The timeline below displays how wordpress function validate_username has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 5.6

/**
 * Checks whether a username is valid.
 *
 * @since 2.0.1
 * @since 4.4.0 Empty sanitized usernames are now considered invalid.
 *
 * @param string $username Username.
 * @return bool Whether username given is valid.
 */
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);
}

WordPress Version: 4.6

/**
 * Checks whether a username is valid.
 *
 * @since 2.0.1
 * @since 4.4.0 Empty sanitized usernames are now considered invalid
 *
 * @param string $username Username.
 * @return bool Whether username given is valid
 */
function validate_username($username)
{
    $sanitized = sanitize_user($username, true);
    $valid = $sanitized == $username && !empty($sanitized);
    /**
     * Filters whether the provided username is valid or not.
     *
     * @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);
}

WordPress Version: 4.4

/**
 * Checks whether a username is valid.
 *
 * @since 2.0.1
 * @since 4.4.0 Empty sanitized usernames are now considered invalid
 *
 * @param string $username Username.
 * @return bool Whether username given is valid
 */
function validate_username($username)
{
    $sanitized = sanitize_user($username, true);
    $valid = $sanitized == $username && !empty($sanitized);
    /**
     * Filter whether the provided username is valid or not.
     *
     * @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);
}

WordPress Version: 4.2

/**
 * Checks whether a username is valid.
 *
 * @since 2.0.1
 *
 * @param string $username Username.
 * @return bool Whether username given is valid
 */
function validate_username($username)
{
    $sanitized = sanitize_user($username, true);
    $valid = $sanitized == $username;
    /**
     * Filter whether the provided username is valid or not.
     *
     * @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);
}

WordPress Version: 4.1

/**
 * Checks whether an username is valid.
 *
 * @since 2.0.1
 *
 * @param string $username Username.
 * @return bool Whether username given is valid
 */
function validate_username($username)
{
    $sanitized = sanitize_user($username, true);
    $valid = $sanitized == $username;
    /**
     * Filter whether the provided username is valid or not.
     *
     * @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);
}

WordPress Version: 3.9

/**
 * Checks whether an username is valid.
 *
 * @since 2.0.1
 * @uses apply_filters() Calls 'validate_username' hook on $valid check and $username as parameters
 *
 * @param string $username Username.
 * @return bool Whether username given is valid
 */
function validate_username($username)
{
    $sanitized = sanitize_user($username, true);
    $valid = $sanitized == $username;
    /**
     * Filter whether the provided username is valid or not.
     *
     * @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);
}

WordPress Version: 3.7

/**
 * Checks whether an username is valid.
 *
 * @since 2.0.1
 * @uses apply_filters() Calls 'validate_username' hook on $valid check and $username as parameters
 *
 * @param string $username Username.
 * @return bool Whether username given is valid
 */
function validate_username($username)
{
    $sanitized = sanitize_user($username, true);
    $valid = $sanitized == $username;
    return apply_filters('validate_username', $valid, $username);
}