Làm cách nào để kiểm tra xem chuỗi có phải là URL trong Java không?Cách xác minh xem một chuỗi trong Java có phải là URL hợp lệ không
Trả lời
Bạn có thể thử tạo một đối tượng java.net.URL
trong số đó. Nếu nó không phải là một URL thích hợp, một MalformedURLException
sẽ bị ném.
Chỉ cần được rõ ràng , nó sẽ chỉ ném một MalformedURLException 'nếu không có giao thức được chỉ định, hoặc một giao thức không xác định được tìm thấy'. Không giống như UrlValidator của Apache, không có xác thực bổ sung nào được thực hiện. – dogbane
Thực tế nó cũng thực hiện các kiểm tra khác, ví dụ: số cổng. – Grodriguez
Tôi trích dẫn rằng từ javadocs http://download.oracle.com/javase/6/docs/api/java/net/URL.html. Họ không nói bất kỳ kiểm tra nào khác. – dogbane
Bạn có thể sử dụng UrlValidator
từ commons-validator. Nó sẽ giúp bạn tiết kiệm từ việc viết mã nơi luồng logic được hướng dẫn bởi bộ nhớ đệm một ngoại lệ, thường được coi là một thực hành không tốt. Trong trường hợp này, tuy nhiên, tôi nghĩ rằng nó là tốt để làm như những người khác đề nghị, nếu bạn di chuyển chức năng này vào một phương pháp hữu ích được gọi là isValidUrl(..)
+1 cho là khác nhau :) – willcodejavaforfood
không cần phải lặp lại câu trả lời của người khác;) – Bozho
nó sẽ không cho phép gạch dưới trong tên máy chủ –
Bổ sung Bozho câu trả lời, để đi thực tế hơn:
- Tải apache commons package và giải nén nó.
- Bao gồm commons-validator-1.4.0.jar trong đường dẫn xây dựng java của bạn.
thử nghiệm nó với mẫu mã này (reference):
//...your imports import org.apache.commons.validator.routines.*; // Import routines package! public static void main(String[] args){ // Get an UrlValidator UrlValidator defaultValidator = new UrlValidator(); // default schemes if (defaultValidator.isValid("http://www.apache.org")) { System.out.println("valid"); } if (!defaultValidator.isValid("http//www.oops.com")) { System.out.println("INvalid"); } // Get an UrlValidator with custom schemes String[] customSchemes = { "sftp", "scp", "https" }; UrlValidator customValidator = new UrlValidator(customSchemes); if (!customValidator.isValid("http://www.apache.org")) { System.out.println("valid"); } // Get an UrlValidator that allows double slashes in the path UrlValidator doubleSlashValidator = new UrlValidator(UrlValidator.ALLOW_2_SLASHES); if (doubleSlashValidator.isValid("http://www.apache.org//projects")) { System.out.println("INvalid"); }
Run/Debug
Nếu bạn lập trình trong Android, bạn có thể sử dụng android.webkit.URLUtil
để kiểm tra.
URLUtil.isHttpUrl(url)
URLUtil.isHttpsUrl(url)
Hy vọng điều đó sẽ hữu ích.
Điều này không thực sự kiểm tra nếu url của nó nó chỉ kiểm tra nếu có http: // ban đầu, những gì bạn cần với điều đó là URLUtil.isValidUrl (url) –
Thủ trưởng nhanh lên rằng URL này được gọi là URLUtil ... chứ không phải URLUtil * S *. – Tommie
Chức năng này xác thực URL và trả về đúng (URL hợp lệ) hoặc sai (URL không hợp lệ).
public static boolean isURL(String url) {
try {
new URL(url);
return true;
} catch (Exception e) {
return false;
}
}
Hãy chắc chắn để import java.net.URL;
Đối với Android chỉ cần thêm dòng này:
boolean isValid = URLUtil.isValidUrl("your.uri");
Ở đây bạn đi:
public static boolean isValidURL(String urlString)
{
try
{
URL url = new URL(urlString);
url.toURI();
return true;
} catch (Exception exception)
{
return false;
}
}
Đối Spring Framework người sử dụng. Có: org.springframework.util.ResourceUtils#isUrl
Ví dụ
ResourceUtils.isUrl("https://stackoverflow.com/");
- 1. Làm cách nào để xác thực xem chuỗi có phải là biến java hợp lệ không?
- 2. Cách xác minh xem tệp có phải là bảng tính excel hợp lệ không?
- 3. Cách kiểm tra xem chuỗi có phải là URL HTTP hợp lệ không?
- 4. IOS: xác minh xem chuỗi có phải là chuỗi rỗng
- 5. Xác minh xem một chuỗi có phải là JSON trong python không?
- 6. Python: Cách kiểm tra xem một chuỗi có phải là một IRI hợp lệ không?
- 7. java - Cách kiểm tra xem chuỗi có phải là tên phần tử XML hợp lệ không?
- 8. Xác định xem một chuỗi có phải là giá trị float hợp lệ không
- 9. Cách kiểm tra xem URL có hợp lệ không
- 10. Xác định qua C# xem chuỗi có phải là đường dẫn tệp hợp lệ
- 11. Cách xác định xem chuỗi có phải là URL trong Mục tiêu-C
- 12. Cách lấy chuỗi chứng chỉ máy chủ sau đó xác minh hợp lệ và đáng tin cậy trong Java
- 13. Làm cách nào để kiểm tra nhanh xem đối tượng NSString có phải là url hợp lệ không?
- 14. Làm cách nào để kiểm tra xem URL có phải là hình ảnh hợp lệ (trong javascript) không?
- 15. Cách xác định xem chuỗi có phải là User SID không?
- 16. Xác định xem chuỗi C là một int hợp lệ trong C
- 17. Cách xác định xem dữ liệu có phải là tệp tar hợp lệ không có tệp không?
- 18. Cách xác định xem một chuỗi có phải là số trong C#
- 19. java: làm cách nào tôi có thể xác minh địa chỉ email hợp lệ mà không gửi email xác nhận?
- 20. cách tốt nhất để xác định xem URL có phải là hình ảnh trong PHP
- 21. Cách xác minh xem một DataGridViewCheckBoxCell có được kiểm tra
- 22. Cách kiểm tra xem url đó có phải là nguồn hình ảnh hợp lệ bằng Jquery không?
- 23. OAuth "Định dạng mã xác minh không hợp lệ"
- 24. LINQ có phải là một lựa chọn hợp lệ không?
- 25. Đây có phải là câu lệnh C hợp lệ không?
- 26. XmlSerializer: Chuỗi '' không phải là giá trị AllXsd hợp lệ
- 27. Kiểm tra xem url có hợp lệ hay không
- 28. Làm thế nào để xác định xem một chuỗi là JSON hợp lệ?
- 29. Kiểm tra xem một chuỗi có hợp lệ UTF-8 được mã hóa trong Java
- 30. Chuỗi truy vấn URL hợp lệ là gì?
có thể trùng lặp của [Members URL trong Java] (http://stackoverflow.com/questions/1600291/validating-url-in-java) –