UTF-8対応です。
# -* coding: UTF-8 -*-
#全て半角カタカナか?
#Rubyの正規表現で、渡された文字列が全て半角カタカナかチェックします。(UTF-8向け)
#Ruby 正規表現 半角カタカナ UTF8
str = "。アイウエオカキクケコサシスセソタチツテトナニヌネノハイフヘホマミムメモラリルレロヤユヨワン゚";
if str =~ /^(?:\xEF\xBD[\xA1-\xBF]|\xEF\xBE[\x80-\x9F])+$/
puts Kconv.tosjis("すべてが半角カタカナである")
else
puts Kconv.tosjis("すべてが半角カタカナではない")
end
#↓
#"すべて半角カタカナである"
※標準出力をutf8→SJISに変換しているのは、開発環境がWindows+Eclipseの都合です。Windows+Eclipseのコンソールは、SJISエンコーディングオンリーなので。