Kiểm tra số điện thoại của người dùng khi điền form thanh toán của Woocommerce bằng đoạn code sau:
/* Kiểm tra Số điện thoại Việt Nam khi nhập Form Thanh toán Woocommerce */
function realdev_validate_phone_woocommerce() {
$phone = isset($_POST['billing_phone']) ? sanitize_text_field($_POST['billing_phone']) : '';
$phonePattern = '/^(0|\+84)(\s|\.)?((3[2-9])|(5[689])|(7[06-9])|(8[1-689])|(9[0-46-9]))(\d)(\s|\.)?(\d{3})(\s|\.)?(\d{3})$/';
$errorMessage = __('Xin vui lòng nhập số điện thoại hợp lệ gồm 10 chữ số.', 'woocommerce');
if (!preg_match($phonePattern, $phone) || strlen($phone) !== 10) {
wc_add_notice($errorMessage, 'error');
}
}
add_action('woocommerce_checkout_process', 'realdev_validate_phone_woocommerce');
Đối với CF7:
/* Kiểm tra số điện thoại có 10 số của Việt Nam */
function custom_filter_wpcf7_is_tel( $result, $tel ) {
$result = preg_match( '/^(0|\+84)(\s|\.)?((3[2-9])|(5[689])|(7[06-9])|(8[1-689])|(9[0-46-9]))(\d)(\s|\.)?(\d{3})(\s|\.)?(\d{3})$/', $tel );
return $result; }
add_filter( 'wpcf7_is_tel', 'custom_filter_wpcf7_is_tel', 10, 2 );