Hướng dẫn cách validate số điện thoại trong Dart

Bài viết này hướng dẫn anh em cách validate số điện thoại trong Dart. Cách này anh em có thể sử dụng để check xem người dùng nhập số điện thoại vào có đúng hay không để thông báo nếu người dùng nhập sai định dạng điện thoại.

Hướng dẫn cách validate số điện thoại trong Dart
Hướng dẫn cách validate số điện thoại trong Dart

Cách validate số điện thoại trong Dart

///
/// Check if a phone number if valid or not.
/// [phoneNumber] The phone number which will be validated.
/// Return true if the phone number is valid. Otherwise, return false.
bool isValidPhoneNumber(String string) {
  // Null or empty string is invalid phone number
  if (string == null || string.isEmpty) {
    return false;
  }

  // You may need to change this pattern to fit your requirement.
  // I just copied the pattern from here: https://regexr.com/3c53v
  const pattern = r'^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\s\./0-9]*$';
  final regExp = RegExp(pattern);

  if (!regExp.hasMatch(string)) {
    return false;
  }
  return true;
}

Cách sử dụng

main() {
  final emptyPhoneNumber = '';
  final phoneNumber1 = '000';
  final phoneNumber2 = '0971234567';
  final phoneNumber3 = '+84 0971234567';
  final phoneNumber4 = '+84 971234567';
  final phoneNumber5 = '+840971234567';
  final phoneNumber6 = '+84971234567';
  final phoneNumber7 = '084971234567';
  final phoneNumber8 = '84971234567';

  print('Empty string -> ${isValidPhoneNumber(emptyPhoneNumber)}');
  print('$phoneNumber1 -> ${isValidPhoneNumber(phoneNumber1)}');
  print('$phoneNumber2 -> ${isValidPhoneNumber(phoneNumber2)}');
  print('$phoneNumber3 -> ${isValidPhoneNumber(phoneNumber3)}');
  print('$phoneNumber4 -> ${isValidPhoneNumber(phoneNumber4)}');
  print('$phoneNumber5 -> ${isValidPhoneNumber(phoneNumber5)}');
  print('$phoneNumber6 -> ${isValidPhoneNumber(phoneNumber6)}');
  print('$phoneNumber7 -> ${isValidPhoneNumber(phoneNumber7)}');
  print('$phoneNumber8 -> ${isValidPhoneNumber(phoneNumber8)}');
}

Kết quả nhận được

Empty string -> false
000 -> true // Trả ra kết quả true vì có thể sử dụng trong các đầu số tổng đài
0971234567 -> true
+84 0971234567 -> true
+84 971234567 -> true
+840971234567 -> true
+84971234567 -> true
084971234567 -> true
84971234567 -> true

Một số từ khóa bằng tiếng Anh để các bạn có thể tìm hiểu thêm như “How to validate phone on Flutter“, “Flutter validate phone“, “dart validate phone“, “validate phone dart“, “dart validate phone regexp“.

Nếu bạn muốn học Lập trình Flutter cơ bản có thể xem qua Lập trình Flutter cơ bản trên 1kho.info. Và theo dõi Fanpage 1Kho.info để theo dõi những bài mới nhất https://www.facebook.com/1kho.info

5 1 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận
0
Rất thích suy nghĩ của bạn, hãy bình luận.x