Câu trả lời ngắn
Sử dụng mẫu WEB_URL trong Lớp mẫu
Patterns.WEB_URL.matcher(potentialUrl).matches()
Nó sẽ trả về True nếu URL hợp lệ và false nếu URL không hợp lệ .
Câu trả lời dài
Kể từ API Android cấp 8, có mẫu WEB_URL . Trích dẫn nguồn, nó "phù hợp với hầu hết các phần của RFC 3987". Nếu bạn nhắm mục tiêu một cấp API thấp hơn, bạn có thể chỉ cần sao chép mẫu từ nguồn và đưa vào ứng dụng của mình. Tôi cho rằng bạn biết cách sử dụng các mẫu và bộ so khớp, vì vậy tôi không đi sâu vào chi tiết hơn ở đây.
Ngoài ra, lớp URLUtil cung cấp một số phương thức hữu ích, ví dụ:
Các mô tả của các phương pháp không quá phức tạp, do đó, bạn có thể tốt nhất nên xem nguồn và tìm ra phương pháp nào phù hợp với mục đích của bạn nhất.
Đối với thời điểm kích hoạt kiểm tra xác thực, có nhiều khả năng: bạn có thể sử dụng các hàm gọi lại EditText
hoặc sử dụng TextWatcher , mà tôi nghĩ sẽ tốt hơn.
KHÔNG SỬ DỤNG URLUtil để xác thực URL như bên dưới.
URLUtil.isValidUrl(url)
bởi vì nó cung cấp các chuỗi như "http: //" là URL hợp lệ không đúng sự thật