summaryrefslogtreecommitdiffstats
path: root/examples/functions/isvalidip
blob: 0b2dafedfb558a02447accf529099fc5fdc513de (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Thanks to Chris F. A. Johnson <c.f.a.johnson@rogers.com> for this one
is_validip()
{
	case "$*" in
	""|*[!0-9.]*|*[!0-9]) return 1 ;;
	esac

	local IFS=.
	set -- $*

        [ $# -eq 4 ] &&
	    [ ${1:-666} -le 255 ] && [ ${2:-666} -le 255 ] &&
	    [ ${3:-666} -le 255 ] && [ ${4:-666} -le 254 ]
}