http://www.example.com
과 같은 URL을 허용하고 URL 형식이 올바른지 여부를 표시하는 Java 코드가 필요합니다.URL 형식 확인
2
A
답변
19
귀하가 궁금해하는 바를 따라야합니다.
public boolean isValidURI(String uriStr) {
try {
URI uri = new URI(uriStr);
return true;
}
catch (URISyntaxException e) {
return false;
}
}
1
또한 정규 표현식으로 문자열을 확인할 수 있습니다
public boolean isValidURL(String urlStr) {
try {
URL url = new URL(urlStr);
return true;
}
catch (MalformedURLException e) {
return false;
}
}
여기에 대체 버전입니다.
예 : 정규식에 대한
private static final String REGEX_URL = "^[A-Za-z][A-Za-z0-9+.-]{1,120}:[A-Za-z0-9/](([A-Za-z0-9$_.+!*,;/?:@&~=-])|%[A-Fa-f0-9]{2}){1,333}(#([a-zA-Z0-9][a-zA-Z0-9$_.+!*,;/?:@&~=%-]{0,1000}))?$";
String url = "http://www.example.com";
System.out.println(url.matches(REGEX_URL));
씨 : http://www.manamplified.org/archives/2006/10/url-regex-pattern.html 나는 그것이 URL 클래스 대신 URI 클래스, 그것은 존재의 이유를 사용하는 것이 가장 좋습니다 말할 것 @adarshr의 답변에 따라
0
그 URL 클래스는 htt://example.com
과 같은 것을 무효로 표시하는 반면, URI 클래스는 그렇지 않을 것입니다 (이것은 제가 생각하기에 질문의 목표였습니다).
//if urlStr is htt://example.com return value will be false
public boolean isValidURL(String urlStr) {
try {
URL url = new URL(urlStr);
return true;
}
catch (MalformedURLException e) {
return false;
}
}
관련 문제
- 1. XML 형식 확인
- 2. 날짜 형식 확인
- 3. PHP - 파일 형식 확인
- 4. 문자열의 형식 확인
- 5. 동영상 URL 형식
- 6. NSOpenPanel 파일 URL 형식
- 7. CLASSPATH URL 형식
- 8. URL 슬러그 유효성 확인
- 9. Java : Regex URL 확인
- 10. JavaScript 현재 URL 확인
- 11. 트위터 URL 확인
- 12. 폴더의 URL 확인
- 13. Jquery/Javascript의 URL 확인
- 14. 확인 현재 URL
- 15. 올바른 URL 확인
- 16. 정규식 절대 URL 또는 상대 URL 확인
- 17. jQuery/JavaScript 날짜 형식 확인
- 18. JSON.NET에서 속성 기반 형식 확인
- 19. IXamlTypeResolver를 사용하여 제네릭 형식 확인
- 20. PHP : URL 리디렉션을 확인 하시겠습니까?
- 21. 사이트 URL/SiteMap 확인 도구?
- 22. 멀티 테넌트 구조의 URL 확인
- 23. 방법 : PHP 동적 URL 확인
- 24. iPhone URL 스키마의 확인 앱
- 25. 문자열에 대한 jQuery- 확인 URL
- 26. URL 반환 여부 확인 404
- 27. javascript - 상대 URL 유효성 확인
- 28. jQuery ajax URL 데이터 확인
- 29. 그루비 컨트롤러 내에서 날짜 형식 확인
- 30. SQL 서버 결과 식의 데이터 형식 확인
대신 [java.net.URI] (http://download.oracle.com/javase/6/docs/api/java/net/URI.html) 클래스를 사용하십시오. – McDowell
@McDowell - 네, 맞습니다. 답변을 업데이트했습니다. – adarshr
아무도 해결하지 못했습니다. 전체 코드를 제공해주십시오. – Ram