Handling null input...

Ok, so when a user inputs nothing, simply pressing enter when prompted for a phone number, I get a "./addrbkfct.sh: test: argument expected" error message. I have the following function:

addNumber(){
        echo "Phone number: \c";
        read number;
        echo $number;
        if [ -z $number ] ; then
                echo "WARNING: no number";
                addEmail "$1" "$2" "$number";
        else
                echo $number | egrep '[+]?[-]?[0-9]?[0-9]?[0-9]?[-]?[0-9][0-9][0-9][-]?[0-9][0-9][0-9][0-9]';
                if [ $? -eq 0 ] ; then
                        addEmail "$1" "$2" "$number";
                else
                        addNumber "$1" "$2";
                fi
        fi
}

Got it.

addNumber(){
        echo "Phone number: \c";
        read number;
        echo $number;
        if [ -z "$number" ] ; then       # <==== should be double quoted...
                echo "WARNING: no number";
                addEmail "$1" "$2" "$number";
        else
                echo $number | egrep '[+]?[-]?[0-9]?[0-9]?[0-9]?[-]?[0-9][0-9][0-9][-]?[0-9][0-9][0-9][0-9]';
                if [ $? -eq 0 ] ; then
                        addEmail "$1" "$2" "$number";
                else
                        addNumber "$1" "$2";
                fi
        fi
}

Or...

if [[ -z $number ]] ; then       # <==== use double square-brackets