JavaScript에서 URL 문자열이 절대 URL(absolute URL)인지 상대 URL(relative URL)인지 확인하려면 정규 표현식(Regular Expression)을 사용하는 것이 가장 간단하고 효과적인 방법입니다.
절대 URL과 상대 URL의 차이
절대 URL은 프로토콜(https:// 또는 https://)과 도메인을 포함한 전체 주소를 의미합니다. 반면 상대 URL은 현재 페이지 위치를 기준으로 한 경로만 포함하며, 프로토콜 정보가 없습니다.
정규 표현식을 활용한 예제 코드
다음은 정규 표현식을 사용하여 URL 문자열이 절대 URL인지 상대 URL인지 판별하는 코드입니다.
var regularExpressionForURL = /^https?:\/\//i;
var originalURL1 = "https://www.example.com/index";
var originalURL2 = "/index";
if (regularExpressionForURL.test(originalURL1)) {
console.log("This is absolute URL");
}
else {
console.log("This is relative URL");
}
if (regularExpressionForURL.test(originalURL2)) {
console.log("This is absolute URL");
}
else {
console.log("This is relative URL");
}
코드 설명
/^https?:\/\//i 정규 표현식은 문자열이 https:// 또는 https://로 시작하는지 검사합니다. 정규 표현식 끝의 i 플래그는 대소문자를 구분하지 않도록 해주며, test() 메서드는 패턴이 일치하면 true, 일치하지 않으면 false를 반환합니다.
프로그램 실행 방법
위 프로그램을 실행하려면 Node.js 환경에서 다음 명령어를 사용합니다.
node fileName.js
여기서는 파일 이름이 demo266.js라고 가정합니다.
실행 결과
프로그램을 실행하면 콘솔에 다음과 같은 출력 결과가 나타납니다.
PS C:\Users\Amit\javascript-code> node demo266.js
This is absolute URL
This is relative URL
첫 번째 URL은 https://로 시작하므로 절대 URL로 판별되고, 두 번째 URL은 /index처럼 경로만 있으므로 상대 URL로 판별됩니다.