Validate Phone Numbers in an ACF Field
Checks a phone number field when a post is saved and shows an error unless it has 7 to 15 digits, optionally with +, spaces, dashes and brackets.
Opens WPIDE on
Code
// Name of the phone field.
$wpide_acf_phone_field = 'phone';
add_filter( 'acf/validate_value/name=' . $wpide_acf_phone_field, function ( $valid, $value ) {
if ( true !== $valid || '' === trim( (string) $value ) ) {
return $valid;
}
$digits = preg_replace( '/\D/', '', (string) $value );
if ( ! preg_match( '/^\+?[\d\s().-]+$/', (string) $value ) || strlen( $digits ) < 7 || strlen( $digits ) > 15 ) {
return 'Enter a valid phone number, for example +1 555 010 0199.';
}
return $valid;
}, 10, 2 );
Notes
Change $wpide_acf_phone_field to your field's name. Empty values pass unless the field is required.
How to add this snippet
- Install WPIDE on your WordPress site (it is free) and open Code Snippets.
- Use snippet above adds it from the library in one click. Or copy the code into a new snippet with the same code type.
- It is added inactive: review the code and settings, then switch it on.