웹 개발을 하다 보면 특정 도메인의 URL이 올바른 형식인지 검증해야 하는 경우가 자주 발생합니다. 이럴 때 정규식(Regular Expression)을 활용하면 간단하고 효율적으로 URL을 확인할 수 있습니다.
이번 글에서는 자바스크립트 정규식을 사용하여 'tutorialspoint.com' 도메인으로 시작하는 URL이 유효한지 검증하는 방법을 알아보겠습니다.
URL 검증 코드 예제
아래 코드는 정규식 패턴을 정의하고, 입력된 URL이 해당 패턴과 일치하는지 확인한 후 일치하는 경로 부분을 반환하는 함수입니다.
function validateSoundURL(myURL) {
var regularExpression = /^https?:\/\/(tutorialspoint\.com)\/(.*)$/;
return myURL.match(regularExpression) && myURL.match(regularExpression)[2]
}
console.log(validateSoundURL("https://tutorialspoint.com/index"));
console.log(validateSoundURL("https://tutorialspoint.com/java"));코드 설명
/^https?:\/\//: URL이 http 또는 https 프로토콜로 시작하는지 확인합니다. 물음표(?)는 's'가 있어도 없어도 된다는 의미입니다.(tutorialspoint\.com): 도메인이 정확히 tutorialspoint.com인지 검사합니다. 점(.)은 정규식에서 특수 문자이므로 역슬래시(\)로 이스케이프 처리합니다.\/(.*)$: 슬래시 뒤에 오는 나머지 경로를 캡처 그룹으로 저장합니다.[2]: match 결과에서 두 번째 캡처 그룹, 즉 도메인 뒤의 경로 부분을 반환합니다.
프로그램 실행 방법
위 프로그램을 실행하려면 Node.js 환경에서 다음 명령어를 사용합니다.
node fileName.js
여기서는 파일 이름이 demo259.js라고 가정하겠습니다.
실행 결과
프로그램을 실행하면 콘솔에 다음과 같은 출력 결과가 표시됩니다.
PS C:\Users\Amit\javascript-code> node demo259.js index java
출력 결과에서 볼 수 있듯이, 유효한 URL이 입력되면 도메인 뒤의 경로('index', 'java')가 반환됩니다. 만약 패턴과 일치하지 않는 URL이 입력되면 null이 반환되므로, 이를 활용해 URL의 유효성 여부를 손쉽게 판단할 수 있습니다.