взял регекс
рони и ради интереса попробовал максимально сократить
var reg = /^\b((\b|\s*-\s*)\b((\b|\.)([01]?\d?\d|2[0-4]\d|25[0-5])){4}){2}$/;
reg.test(str);
это для проверки, что текст содержит только диапазон ip адресов.
если же текст содержит что-то ещё и надо выловить диапазон, то убрать ^ и $