驗證輸入值 : 只能為英數字

#/bin/bash
#能使用大小寫英文字母及數字
#sed -e 's/[^[:alnum:]]//g'
#可以大寫字母,並允許空白、逗號和小數點
#sed 's/[^[:upper:] ,.]//g'
validAlphaNum()
{
#驗證參數:如果參數是由大寫、小寫或數字組成,就回傳0,否則回傳1

#先移除所有不符合的字元
valischars="$(echo $1 | sed 's/[^[:upper:] ,.]//g')"

if [ "$valischars" = "$1" ]; then
    return 0
else
    return 1
fi
}

/bin/echo -n "請輸入資料 : "
read input
#針對輸入內容進行驗證
if ! validAlphaNum "${input}" ; then
    echo "只能使用大小寫英文字母及數字。" >&2
    exit 1
else
    echo "以輸入有效資料。"
fi
exit 0

運行結果:
執行結果

Last modification:December 4th, 2018 at 05:22 pm