以前のリビジョンの文書です


入力チェック

BASHでも正規表現を使えるのだけど、入力された文字をチェックしようと思ったら「それはbashでは出来ません。perlやPHPを使いましょう」って事になるのが多い(--;

なんとか出来ないかいろいろ考えてみた。

半角英数の判定

入力された文字が英数のみか判定する方法

INPUT_DATA=$1

DATA_LEN=${#INPUT_DATA}
DATA_CHK=${INPUT_DATA//[0-9a-z]/0}

until [ ${DATA_LEN} -eq 0 ];
do
  DATA_CHK2=${DATA_CHK2}"0"
  DATA_LEN=`expr ${DATA_LEN} - 1`
done

if [ ${DATACHK} = ${DATA_CHK2} ]; then
  exit 0
else
  exit 1
fi

シェルを実行する時に引数に入力データを渡してやれば、その内容に半角英数以外が含まれていれば戻り値として1を返します。

後はご自由に(^^)

linux/bash/check.1259055208.txt.gz · 最終更新: 2009/11/24 09:33 by miyako
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0