全角半角が混在する中で全角英数字のみ検出するには?

[上に] [前に] [次に]
はにゃ。 [E-Mail] 1999/07/19(月) 14:46:06
以前このラウンジで、全角英数字のみを許可する方法が載って
いましたが、全角文字・半角文字が混在するデータで、全角英数字
が入っていたらエラーにするいい方法はあるでしょうか。
ex:@「てすとです。」→OK,(ひらがな・漢字はOK)
   A「R001:てすとです。」→OK,(英数字が半角なのでOK)
   B「R001:てすとです。」→NG(英数字が全角なのでNG)

if ($test =~ /[^\da-zA-Z]+$/ ) {ダメ} else {OK}
だと、@AもNGになってしまいますよね。
他にもいろいろ試しては見たのですが、どうも上手く行きません。
どなたか教えて下さい。

ST 1999/07/19(月) 15:48:06
../199803/98030012.htm
のmiyasiroさんのやり方を真似てみました。

$msg="あAA";

$from = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
$to = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
&jcode'tr(*msg,$from,$to);

あ,これじゃあ自動的に変換するだけでエラーは出せない(汗)

たこすけ 1999/07/19(月) 16:22:10
丸付き数字はやめませう。

> あ,これじゃあ自動的に変換するだけでエラーは出せない(汗)
if(&jcode'tr(*msg,$from,$to)){えらー}
とすれば良いのでは?

はにゃ。 [E-Mail] 1999/07/22(木) 15:09:13
[[解決]]
お返事が遅れて大変申し訳ありませんでした。
おかげさまで上手くいきました!
STさん、たこすけさん、本当にありがとうございました。

ST 1999/07/22(木) 16:14:41
自動的に変換するならこの方法でいいですが,チェックするだけならもっとスマートな方法があるはず……ま,いっか。

[上に] [前に] [次に]