Contact Form 7 là một trong những plugin hỗ trợ khá tốt khi bạn sử dụng wordpress để tạo form. Tại thời điểm này thì đã hơn 8 triệu lượt tải về sử dụng trên trang wordpress.org (chắc giờ thì khủng lắm rồi). Bài viết này mình muốn hướng dẫn các bạn validate trường số điện thoại trong contact form 7 cho đúng với số điện thoại của Việt Nam minh. Tức là bắt đầu bằng 0 và có 10 số
Vào vấn đề nhé. Để validate số điện thoại trong Contact Form 7 thì chúng ta cần bổ sung code sau vào file functions.php là đủ. Không cần làm gì thêm cả. Nhớ đặt trường phone trong Contact Form 7 là bắt buộc nhé. Chứ ràng buộc số điện thoại mà lại cho bỏ qua thì thật là phí phạm cuộc đời.
Theo định dạng tel trong Contact Form 7
[tel* your-phone minlength:10 maxlength:140]
Phiên bản mặc định check 10 số bắt đầu bằng số 0
//validate phone number phiên bản đại trà function custom_filter_wpcf7_is_tel( $result, $tel ) { $result = preg_match( '/^0(1\d{9}|9\d{8})$/', $tel ); return $result; } add_filter( 'wpcf7_is_tel', 'custom_filter_wpcf7_is_tel', 10, 2 );
Phiên bản nâng cấp đã check số các nhà mạng mới cho phép pass, được chia sẽ từ Mod Trung Nghĩa
function custom_filter_wpcf7_is_tel( $result, $tel ){ $result = preg_match( '/^(09|03|07|08|05)+([0-9]{8})$/', $tel ); return $result; } add_filter( 'wpcf7_is_tel', 'custom_filter_wpcf7_is_tel', 10, 2 );
Cập nhật mới nhất 2020 Validate tất cả đầu số của các nhà mạng hiện tại,
Dưới đây là code phiên bản đầy đủ:
function custom_filter_wpcf7_is_tel( $result, $tel ) { $result = preg_match( '/^(032|033|034|035|036|037|038|039|086|096|097|098|081|082|083|084|085|088|091|094|056|058|092|070|076|077|078|079|089|090|093|099|059)+([0-9]{7})$/;', $tel ); return $result; } add_filter( 'wpcf7_is_tel', 'custom_filter_wpcf7_is_tel', 10, 2 );
Nguồn : https://thienduc.net