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

現在入力項目が全角文字OR半角スペースかどうかチェックする、スクリプトをBASP21を使って下のようなコードを作っています。VBSで色々試しましたができません。
本番では、BASAP21が使えないので困っています。
処理としては、入力値が、シフトJISの全角に当たる文字コードかどうかチェックしています。
BASP21を使わない方法で可能でしょうか?
また可能であれば方法を教えてください。
環境:WindowsXPSP2 VBScript IIS
LOCALHOST上で実行しています。
例:
str = " あいうえおア "
Set bobj = CreateObject("basp21")
output = bobj.Match("/^(?:[\x81-\xEF][\x40-\xFC]|\x20)+$/",str)

IF output = 0 THEN
Response.Write("全角で入力して下さい。")
END IF

A 回答 (1件)

まず、半角スペースを置換してしまったものに対して、


バイト数と文字数を比較し、
同じであれば半角のみの文字列である。

という考え方でするとよいのでは?
    • good
    • 0
この回答へのお礼

なるほど。
1:半角SPを全角SPに置き換え
2:文字数をカウント
3:IF 文字数*2 = バイト数
4:TRUEなら全角ですよね。

着眼点が素晴らしいですね。
ありがとうございます。

でもやっぱり正規表現でやりたいです。。。

お礼日時:2005/07/07 17:21

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