インフォメーションBBS

[使い方] [タイトルのみ] [関連発言] [最新20発言] [過去ログ一覧]
1161 水原麗名とも呼ばれる人 [RE] 2001/01/28 04:17 [修正]
RE3:平仮名入力エラー表示
#1159(海豚氏)の書き込みを引用します:
>凄い雪ですね!
>#1158(水原麗名とも呼ばれる人氏)の書き込みを引用します:
>>昔私がやったときは「名前の読み方を入力」でした。
>>
>>@name = unpack ('C*',$name);
>>while ($line = $name[$y++]){
>>  if ($y % 2){
>>    $line == 164 or return 0;
>>  }else{
>>    ($line <= 243 and $line >= 161) or return 0;
>>  }
>>}
>>return 1;
>>文字コードをEUCに変換してからここに渡すとひらがな以外があると0を返します。
>
>ありがとうございます。
>私も、「名前の読み方を入力」を使用しようとしています。
>でも私には難しすぎるのですが・・・。
>上記のようにそのまま入れたらエラーになってしまいました何故でしょう?
>と言っても分からないですよね・・・。そのままじゃダメなのでしょうか?
>原因が分かるようでしたら御願い致します。

もしかしたらサブルーチンじゃないのが原因かもしれません。
ってことで当時書いたそのままのサブルーチンです。

sub yomi{
  local($yomi) = @_;
  jcode::convert(*yomi,"euc");
  @name = unpack ('C*',$yomi);
  while ($line = $name[$y++]){
    if ($y % 2){
      $line == 164 or return 0;
    }else{
      ($line <= 243 and $line >= 161) or return 0;
    }
  }
  return 1;
}

このサブルーチンが入っている状態で
入力を受けとった後で
$error = "名前の読みはひらがなだけです。"  if (&yomi($yomigana) == 0);
とするとOKなはずです。

えんいー。</=>

1個のレスポンスが付いています:
1162 2001/01/29 10:13 RE4:平仮名入力エラー表示 = 海豚

[トップページに戻る]管理人 : キャメル