Hướng dẫn validate số điện thoại trong Contact Form 7

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ố

Hình ảnh thuộc sở hữu của trang web qnet88.com
Hướng dẫn validate số điện thoại trong Contact Form 7

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(1d{9}|9d{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

 

Đánh giá post
[related_posts_by_tax posts_per_page="6" title="Bài liên quan" taxonomies="category,post_tag"]

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Hotline: 0974.0707.83(Zalo/Viber)