差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

linux:bash:check [2009/11/24 09:32]
miyako 作成
linux:bash:check [2010/06/25 01:59] (現在)
miyako
ライン 1: ライン 1:
 ===== 入力チェック ===== ===== 入力チェック =====
-BASHでも正規表現を使えるのだけど、入力された文字をチェックしようと思ったら「それはbashでは出来ません。perlやPHPを使いましょうって事になる(--;+BASHでも正規表現を使えるのだけど、入力された文字をチェックしようと思ったら「それはbashでは出来ません。perlやPHPを使いましょうって事になるのが多い(--;
  
 なんとか出来ないかいろいろ考えてみた。 なんとか出来ないかいろいろ考えてみた。
- +===== 半角英数の判定 =====
- +
-===== 英数の判定 =====+
 入力された文字が英数のみか判定する方法 入力された文字が英数のみか判定する方法
 <code> <code>
 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"
ライン 19: ライン 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>
ライン 29: ライン 27:
  
 後はご自由に(^^) 後はご自由に(^^)
- 
- 
- 
linux/bash/check.1259055152.txt.gz · 最終更新: 2009/11/24 09:32 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