본문 바로가기

IT Data/#Java

[JavaScript] 정규표현식 유효성검사 (IP주소:포트)


//자바스크립트 구문

function checkIpForm(ip_addr)

{

var filter = /^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])  {1}([:][0-9][0-9][0-9][0-9][0-9]?)$/;

if (filter.test(ip_addr) == true) alert("Good");

else alert("Fail");

}

//JSP 구문

<input type="text" name="agape" 블라블라 블라블라 onchange="checkIpForm(this.value)"/>

IP주소:포트의 정규식표현 

 정규식 표현을 감싸주는 문구'/'

^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3} ^는 문구의 시작을 알리고 $는 문구의 마지막을 알린다.

([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]){1} {}안에 있는 숫자는 반복을 말한다 "***."을 3번 반복하고 "***"을 1번 반복 하는거다.

([:][0-9][0-9][0-9][0-9][0-9]?)$ []안에 있는 문자를 검사하는거다. [:*****?] 이건 "*?" 이렇게 뒤에 ?가 붙으면 있어도, 없어도 된다는 뜻.

/;  포트 번호는 4자리~5자리 니까, 마지막 5번째 숫자는 있어도, 없어도 된다는 뜻이다.

"|" 이건 "OR"라는 뜻이다. "0~9 1~9 0~9" or "1 0~9 0~9" or "2 0~4 0~9" or "2 5 0~5" "\."는 "."을 포함하라는뜻 [.]과 동일함