• ベストアンサー

カタカナ判別

下記は他のサイトで見たカタカナ判別の関数です。 javascriptはさっぱりまだわからないので、これをvbscriptの関数に変えたいのですが・・。 function checkKatakana(mojiretsu){ for(i=0; i<mojiretsu.length; i++){ if(mojiretsu.charAt(i) < 'ア' || mojiretsu.charAt(i) > 'ン'){ return false; } } return true; }

質問者が選んだベストアンサー

  • ベストアンサー
  • hequil
  • ベストアンサー率65% (242/372)
回答No.2

#1補足のASPですが、私の環境では正しく動作(Trueが表示)されました。 スクリプトエンジンのバージョンが低いと思われるので ASPを処理させるサーバーに参考URLからWindows Script 5.5をインストールすると正常に動作すると思います。 なお、ASPについての話題でしたら、該当カテゴリがあります そちらで質問されたほうが、私の回答より的確な返事が期待できると思います(苦笑) コンピューター&インターネット > プログラミング > Microsoft ASP http://www.okweb.ne.jp/oshiete.php3?c=249 参考まで

参考URL:
http://www.microsoft.com/msdownload/vbscript/scripting.asp?id=25

その他の回答 (1)

  • hequil
  • ベストアンサー率65% (242/372)
回答No.1

文字列に全角カタカナが含まれているかのチェックですよね? こんな感じでどうでしょう↓ Function CheckKatakanaVBS( strMoji )   Dim objChkKatakana   Set objChkKatakana = New RegExp   objChkKatakana.Pattern = "[ア-ン]"   CheckKatakanaVBS = objChkKatakana.Test( strMoji ) End Function

s-holmes
質問者

補足

早速の回答ありがとうございます。実際の環境はASP(access jet)で使いたいのですが、下記だと、 Set objChkKatakana = New RegExp で構文エラーになるようです。初心者のため、解読できず・・。 <%= CheckKatakanaVBS("アクセス") %> <% Function CheckKatakanaVBS(strMoji) Dim objChkKatakana Set objChkKatakana = New RegExp objChkKatakana.Pattern = "[ア-ン]" CheckKatakanaVBS = objChkKatakana.Test(strMoji) End Function %>

関連するQ&A

  • 半角カタカナの入力チェックを作りたいです

    入力フォームで入力された文字に対して半角カタカナかチェックをしたいです。 function CheckHalfSizeKatakana($str) {  if (mb_ereg("^[ア-ン゛゜]+$",$str)) {    return true;  } else {    return false;  } } としたのですがうまくいきません。 PHP4です。

    • ベストアンサー
    • PHP
  • javascriptの関数につきまして

    javascriptの関数につきまして javascriptの関数につきましての質問です。 Daycheck()関数 function Daycheck(year, mon, day){ maxDayOfMonth = Array( 31,29,31,30,31,30,31,31,30,31,30,31 ); if (year < 1901 || 2200 < year) return false; if( mon < 1 || mon > 12 ) return false; if( day < 1 || day > maxDayOfMonth[mon-1] ) return false; if( mon != 2 ) return true; if( day < 29 ) return true; if( ( year % 4 ) == 0 && ( year % 100 ) != 0 ) return true; if( ( year % 400 ) == 0 ) return true; return false; } というサンプルソースを見たのですが、Daycheck()の中のif( mon != 2 ) return true;とは2月以外が選択されていた場合trueを返す。 つまり、2月は選択できないということでしょうか? プログラミングについて詳しい方がいらっしゃりましたらご指導お願いします。 宜しくお願い致します。

  • Integerで変換する前に、0~9までの数字か判別したいです。

    /* Integerで変換する前に、0~9までの数字かどうか判別したいです。 入力した文字が'0'~'9'までの文字かどうか判別し、 trueなら、int len = Integer.parseInt(line) で変換し、 lenが1~10までの数値かどうか判別し、trueならwhileを抜ける それ以外は、もう一度入力するプログラムなのですか、 うまく作れなくて困ってます。 コンパイルはできましたが、入力時に入力が入らない現象がおきました。Ctrl + C では戻れます。 ここのプログラムが間違っているのですが、 if (line.length() != 0 && '0' >= line.charAt(i) && line.charAt(i) <= '9') { 何かいい方法はありませんか? */ import java.io.*; public class Kazuate { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); // 宣言 StringBuffer sb = new StringBuffer(); String line = null; // 桁数を入力 System.out.print("1~10までの値: "); while (true) { for (int i = 0; i < len; i++) { line = reader.readLine(); if (line.length() != 0 && '0' >= line.charAt(i) && line.charAt(i) <= '9'){ int len = Integer.parseInt(line); if (Integer.parseInt(line) >= 0 && Integer.parseInt(line) <= 10) { break; } } System.out.print("入力が間違っています。もう一度を入力して下さい。\n" + "桁数(1~10までの値): "); continue; } break; } } System.out.print("入力した値は" + len + "です。"); } }

  • 更新クエリの使い方

    accessの更新クエリの使い方について助言いただけますか。下記はOKWEBで教えていただいたカタカナ判別の関数なのですが、「著者」というフィールドのうち、この関数にあてはまるものについて「区分」のフィールドに「カタカナ」と入力するのは面倒でしょうか。下記はvbscriptの関数です。 Function CheckKatakanaVBS( strMoji )   Dim objChkKatakana   Set objChkKatakana = New RegExp   objChkKatakana.Pattern = "[ア-ン]"   CheckKatakanaVBS = objChkKatakana.Test( strMoji ) End Function

  • for文

    質問お願い致します。 これのソースのfor文を一つの文にするにはどのように書いたらよいでしょうか? お願い致します。 //指定された文字列が"a"と"b"の両方を含む場合はtrue、なければfalseを返す public class Mondai { public static void main(String[] args) { System.out.println("解答 :" + charBothContain("Habllow")); } public static boolean charBothContain(String str) { boolean answer1 = false; boolean answer2 = false; for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); if (c == 'a') { answer1 = true; break; } } for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); if (c == 'b') { answer2 = true; break; } } return answer1 && answer2; } }

    • ベストアンサー
    • Java
  • 複数のラジオボタンの選択チェック

    Q1とQ2の2問があり、ラジオボタンで回答を選択するようにしていますが、 ラジオボタンを選択しなかった場合、選択を促すようメッセージを表示させるようJavaScriptで以下のように作成してみましたがうまくいきません。 Q1とQ2の両方を選択しなかった場合、「Q1が選択されていません」とメッセージが表示されますが、Q1だけを選択してQ2を選択しなかった場合はメッセージが表示されません。 いろいろ調べてみたのですが、function checkの使い方に問題があるのでしょうか? function check(){ var flag = 0; if(document.form1.Q1.length) { flag = 1; var i; for(i = 0; i < document.form1.Q1.length; i ++){ if(document.form1.Q1[i].checked){ flag = 0; break; } } } if(flag){ window.alert('Q1が選択されていません'); return false; } else{ return true; } var flag = 0; if(document.form1.Q2.length) { flag = 1; var i; for(i = 0; i < document.form1.Q2.length; i ++){ if(document.form1.Q2[i].checked){ flag = 0; break; } } } if(flag){ window.alert('Q2が選択されていません'); return false; } else{ return true; } }

  • JAVA 入力チェックについて。

    いつもお世話になっております。 いま、コマンドラインで入力された値の入力チェックを作成しているのですが、空白値のチェックがうまくいきません。スペースのチェックはできました。 また、参考URL等ございましたら、教えていただけないでしょうか。 // 未入力チェック private boolean check1(String input){ for (int i = 0; i < input.length(); i++) { char a = input.charAt(i); if (a == ' ') { return false; } } return true; }

    • ベストアンサー
    • Java
  • 半角英数字を判断したい

    JAVA初心者です。 strIdに文字列が入っています。 このstrIdの文字列が半角英数字のみか判断したいのです。 ホームページを参考にし以下のように記述し、chkがtrueかfalseで判断しようかと思ったのですがだめでした。 boolean chk = true; for (int i=0; i<strId.length(); i++) { if (!(strId.charAt(i) > 0x0020 && strId.charAt(i) < 0x007F)) { chk = false; break; } } どのように記述すればよろしいのでしょうか?

    • ベストアンサー
    • Java
  • 戻り値必要なし

    JavaScript初心者です。 戻り値なしの関数について。return とreturn falseでは何か違うのでしょうか? function test(){ if(flag) return; var num=1+2; } function test2(){ if(flag) return false; var num=1+2; } よろしくお願いします。

  • javascript 一回目実行

    失礼します現在一回目だけ処理したい内容があり、サンプルコードを探してみたのですが、 処理の流れがわからない状態です汗 ご教授頂けると助かります //即時関数 var trueOnlyFirstTime = (function(){ var b = true; //戻り値として関数を実行する return function(){ if(b){ b = false; return true; } return false; }; })();

専門家に質問してみよう