この文書の現在のバージョンと選択したバージョンの差分を表示します。
linux:bash:check [2009/11/24 09:33] miyako |
linux:bash:check [2010/06/25 01:59] (現在) miyako |
||
---|---|---|---|
ライン 3: | ライン 3: | ||
なんとか出来ないかいろいろ考えてみた。 | なんとか出来ないかいろいろ考えてみた。 | ||
- | |||
===== 半角英数の判定 ===== | ===== 半角英数の判定 ===== | ||
入力された文字が英数のみか判定する方法 | 入力された文字が英数のみか判定する方法 | ||
ライン 9: | ライン 8: | ||
INPUT_DATA=$1 | INPUT_DATA=$1 | ||
- | DATA_LEN=${#INPUT_DATA} | + | DATA_LEN=${#INPUT_DATA} #入力された文字列の長さを取得 |
- | DATA_CHK=${INPUT_DATA//[0-9a-z]/0} | + | DATA_CHK=${INPUT_DATA//[0-9a-z]/0} #半角英数のみを0に置き換える |
- | until [ ${DATA_LEN} -eq 0 ]; | + | until [ ${DATA_LEN} -eq 0 ]; #入力文字数だけ0で埋めた変数を作成 |
do | do | ||
DATA_CHK2=${DATA_CHK2}"0" | DATA_CHK2=${DATA_CHK2}"0" | ||
ライン 18: | ライン 17: | ||
done | done | ||
- | if [ ${DATACHK} = ${DATA_CHK2} ]; then | + | if [ ${DATA_CHK} = ${DATA_CHK2} ]; then #0に置き換えられた入力データと文字数だけ0で埋められた変数を比較する |
- | exit 0 | + | exit 0 #同じなら入力された文字は半角英数のみ |
else | else | ||
- | exit 1 | + | exit 1 #違うなら入力された文字に半角英数以外が含まれている |
fi | fi | ||
</code> | </code> |