アプリ版:「スタンプのみでお礼する」機能のリリースについて

■環境
Linux, Perl 5.8 です。
画面(HTML)と処理(Perl)は分けて作成しており、Templateモジュールで画面表示を行っています。
HTMLもPerlも文字コードはUTF-8です。

■質問
フォームからうけとった文字列で全角カタカナと特定の全角記号以外はエラーとする
入力チェック処理(正規表現)がうまくチェックを行ってくれません。
SJISだと以下のような書き方があるそうなのですが、UTF8での書き方がわかりません。

・SJIS
if($data !~ /^(?:\x83[\x40-\x96])+$/){
$mes="全角カナ以外の文字が指定されています";
}

UTF8での書き方を教えて頂きたいです。
なお、許容する全角カタカナと特定の全角記号は以下のとおりです。
==========================================================
アイウエオカキクケコサシスセソタチツテトナニヌネノ
ハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン
ァィゥェォッャュョヵヶヴガギグゲゴザジズゼゾダヂヅデド
バビブベボパピプペポーヽヾ
==========================================================

ご教授お願い致します。

A 回答 (1件)

Unicode ブロック指定の


\p{InKatakana}
なんかが使えると楽かも.
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!