Properly sanitize an input field “Name “

You could do something like this:

$input="Name <[email protected]>";

// Break the input into parts
preg_match( '/([^<]+)<([^>]+)>/i', $input, $matches, PREG_UNMATCHED_AS_NULL );

// Clean the name
$name = sanitize_text_field( $matches[ 1 ] );

// Clean the email
$email = sanitize_email( $matches[ 2 ] );

// Bail early if the values are invalid.
if ( !$name || !$email || !is_email( $email ) ) {
    die( 'Invalid input' );
}

// Success!
$cleaned_input = "{$name} <{$email}>";

tech