e2e7a5f52c1b3680011c1fda36e800f8084ffae1
[platform/upstream/bash.git] / examples / functions / isnum2
1 isnum2()
2 {
3         case "$1" in
4         '[-+]' | '')    return 1;;      # empty or bare `-' or `+'
5         [-+]*[!0-9]*)   return 1;;      # non-digit with leading sign
6         [-+]*)          return 0;;      # OK
7         *[!0-9]*)       return 1;;      # non-digit
8         *)              return 0;;      # OK
9         esac
10 }
11
12 # this one handles floating point
13 isnum3()
14 {
15         case "$1" in
16         '')             return 1;;      # empty
17         *[!0-9.+-]*)    return 1;;      # non-digit, +, -, or .
18         *?[-+]*)        return 1;;      # sign as second or later char
19         *.*.*)          return 1;;      # multiple decimal points
20         *)              return 0;;      # OK
21         esac
22 }