Javascript로 문자열 중에서 ip 문자열을 배열로 추출하기



문자열이 쪽 있으면 그 문자열에서 IP 에 해당하는 문자열 부분들을 찾아내서 배열로 얻고 싶을때는 요렇게~


응용해서 정규표현식만 원하는 패턴으로 바꿔주면 정규표현식에 해당하는 패턴을 배열로 쪽 뽑아낼 수 있다.


var pattern = /((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})/g;

// ["19.22.2.255", "219.22.2.253", "219.22.2.251"]
var ipList = "19.22.2.255@219.22.2.253 219.22.2.251".match(pattern);


여기서 한발짝 더 뿍 나가

String 객체의 prototype 에다 함수를 추가시켜 쓰면 쪼매더 간지나 보인다.


공통으로 땡겨다 쓰는 js 파일에다 요렇게 String prototype 을 추가하고

String.prototype.getIP = function() {
	var pattern = /((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})/g;

	return this.match(pattern);
};


아무데서나 요렇게 쓰면 위와 똑같은 결과를 쫌더 간지나게 얻을 수 있다.

// ["19.22.2.255", "219.22.2.253", "219.22.2.251"]
var ipList = "19.22.2.255@219.22.2.253 219.22.2.251".getIP();