반응형
안녕하세요. 경제적, 시간적 자유를 꿈꾸는 한량입니다.
자바스크립트 정규식을 활용하여 IP 주소를 검증하는 소스입니다.
자바스크립트
function check_ipAddress() {
var ipAddress = document.getElementById("ipAddress").value;
var regIpAddress = /^(([1-9]?[\d]|1[\d][\d]|2[0-4][\d]|25[0-5])\.){3}([1-9]?[\d]|1[\d][\d]|2[0-4][\d]|25[0-5])$/;
if (regIpAddress.test(ipAddress) == true) {
alert("IP 주소가 맞습니다.");
}
}
HTML
<input type="text" id="ipAddress" name="ipAddress" />
<input type="button" onclick="check_ipAddress()" value="IP 주소 확인" />
regIpAddress에 작성한 정규식을 알아봅시다.
→ ^(([1-9]?[\d]|1[\d][\d]|2[0-4][\d]|25[0-5])\.){3}
위 정규식을 풀어보면
^ (( [1-9] ? [\d] | 1 [\d] [\d] | 2 [0-4] [\d] | 25 [0-5] ) \. ) {3}
시작 1~9 있어도 없어도 됨 0~9 또는 1 0~9 0~9 또는 2 0~4 0~9 또는 25 0~5 . 3번 반복
→ ([1-9]?[\d]|1[\d][\d]|2[0-4][\d]|25[0-5])$ : 위 정규식 풀이와 같지만 $ 붙으므로 해당 정규식으로 끝나야 합니다.
위 조건을 만족하면 regIpAddress.test(ipAddress)를 통과하여 true라는 값을 반환하여 alert를 보여 줍니다.
regIpAddress에 작성한 정규식의 다른 표현
var regIpAddress = /^((25[0-5]|2[0-4][\d]|[01]?[\d][\d]?)\.){3}(25[0-5]|2[0-4][\d]|[01]?[\d][\d]?)$/;
var regIpAddress = /^(([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])\.){3}([\d]|[1-9][\d]|1[\d]{2}|2[0-4][\d]|25[0-5])$/;
아래 사이트는 정규식을 테스트 할 수 있는 사이트입니다.
RegExr: Learn, Build, & Test RegEx
RegExr is an online tool to learn, build, & test Regular Expressions (RegEx / RegExp).
regexr.com
반응형
'IT 소스 > 정규 표현식' 카테고리의 다른 글
자주 사용하는 예제로 알아보는 정규 표현식 (웹사이트 주소) (1) | 2023.01.24 |
---|---|
자주 사용하는 예제로 알아보는 정규 표현식 (정수 및 소수) (0) | 2023.01.24 |
자주 사용하는 예제로 알아보는 정규 표현식 (비밀번호) (0) | 2023.01.23 |
자주 사용하는 예제로 알아보는 정규 표현식 (E-mail) (0) | 2023.01.20 |
자주 사용하는 예제로 알아보는 정규 표현식 (전화번호) (0) | 2022.04.11 |