What best practices should be followed when implementing REGEX patterns for form validation in both PHP and HTML to ensure consistency and accuracy?

When implementing REGEX patterns for form validation in both PHP and HTML, it is essential to ensure consistency and accuracy to validate user input effectively. To achieve this, it is recommended to define a set of common REGEX patterns for different types of input fields such as email, phone number, and password. By using these predefined patterns consistently across the application, you can maintain a standard validation process and reduce the chances of errors.

// Define common REGEX patterns for form validation
$patterns = array(
    'email' => '/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/',
    'phone' => '/^\+?[0-9]{1,3}[\s-]?[0-9]{3}[\s-]?[0-9]{3}[\s-]?[0-9]{4}$/',
    'password' => '/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}$/'
);

// Validate input using REGEX pattern
function validateInput($input, $pattern) {
    return preg_match($pattern, $input);
}

// Example usage
$email = 'test@example.com';
if(validateInput($email, $patterns['email'])) {
    echo 'Email is valid!';
} else {
    echo 'Invalid email format';
}