Please post program code in [code] tags to aid readability.
What do you expect [009-014] to match? If you expect it to match three digit numbers in the range of 9 to 14, you are mis-understanding shall pattern matching. It does not to integer ranges like that.
Probably what you want is something like this:
Code:
case "$DOWHR" in
[0-9][0-9][0-9])
# ugly way to strip off leading 0's
tmp="${DOWHR#0}" ; tmp="${tmp#0}"
if [ "$tmp" -ge 9 ] && [ "$tmp" -le 14 ]; then
echo "we have a match"
fi
esac