- ベストアンサー
入力されたテキストが、全角か半角かをチェックする方法
フォームのテキストボックスに入力された文字が、全角か半角かをチェックする方法ご存知の方居ましたら。教えて下さい。
- sho_ta
- お礼率68% (221/322)
- JavaScript
- 回答数3
- ありがとう数3
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
基本は1文字ずつ切り出してescape関数に渡し、元の値とescape後の値が等しければ半角、異なれば全角ということになります。 ただし、ブラウザやバージョンによってエンコード方法が異なったり、2バイトコードの数え方が違ったりするので、確実性を求めるなら、ブラウザ/バージョンごとに処理を書いた方がよいでしょう。
その他の回答 (2)
- redbean
- ベストアンサー率38% (130/334)
Java ではないのですが、参考に Microsoft の開発環境の場合を書きます。 テキストを一旦Asciiコードに変換 してから、文字数とバイト数を比較 します。違っていれば全角が混じって いると判定します。 これならUnicodeであっても対応できます。 同じ機能の関数がJavascriptにあるかどうか は分かりません。
お礼
ありがとうございました。
- yuizuian
- ベストアンサー率42% (103/245)
charAt()等を使って一文字ずつチェックするしかないのではないでしょうか? URLのソースはバイト数で半角全角を分けていますが、 文字コードで判別する方法もあるかと。
お礼
参考になりました。 ありがとうございます。
関連するQ&A
- 全角漢字の入力チェック
Javascriptにて、Formのテキストフィールドの内容を入力チェックしているのですが、「全角漢字」「全角かな」「全角カナ」「半角英数字」 のみを許可して、それ以外の入力文字をいれるとエラーになるような 関数を作りたいのですが、全角記号や半角記号をチェックするには どうしたらよいのでしょうか。
- 締切済み
- JavaScript
- チェックをいれたのですが・・・
入力フォームを作り、そこにチェックを入れました。 テキストボックスで半角10文字まで入力を許可したのですが、プログラム上では半角の10文字も全角の10文字も同じ10文字と認識しているようです。 データベースにそのデータを格納しておきます。 文字制限を半角10迄としているので半角10文字までで文字制限ができる方法をどうかおしえていただけないでしょうか ? よろしくお願い致します。
- 締切済み
- JavaScript
- 全角、半角文字の判別について
フォームのテキストで全角なら10文字まで、半角なら20文字まで入力できるようにしたいのですが、EUCの場合、半角カナは2バイトになるため、バイト数で制限をかけるとうまくいきません。かといって文字数で制限をかけてもうまくいきません。 何かいい方法はあるでしょうか?
- ベストアンサー
- PHP
- 半角全角が切り替わらない
ニコニコ動画で動画や生放送で文字を書くときに、空白で全角半角ボタンを切り替えようとすると IMEのボックスが消えて半角の英数字しか書くことができません。 ブラウザはグーグルクロムなんですが、URL等を入力するボックスでは半角全角を切り替えることができ 全角で漢字を書くこともできます。 どのようにすれば全角で書けるようになるでしょうか? VISTA グーグルクロム
- ベストアンサー
- Windows Vista
- フォーム入力のチェック
フォームの入力をCGI(Perl)でチェックするとき、 全角の漢字、カタカナ、ひらがなでの入力以外は禁止にしたいです。 どなたかいい方法をご存知でしょうか? とりあえず、現在は、 jcode.plで全角英数字⇒半角英数字に変換 フォームに入力された文字列を一文字(半角2文字)ずつ抽出して、 $a=~ s/([^\w ])/'%' . unpack("H2", $1)/eg; でエンコードしたものが%を含んでいるかどうかで判別してます。 でもこれだと全角英数字と半角英数字しかシャットアウトできません。 記号文字なども入力出来ないようにしたいです。 よろしくお願いします。
- ベストアンサー
- CGI
- VB.net、テキストボックス入力制限、全角のみ
VB.net初心者ですよろしくお願いします テキストボックス入力制限で全角文字のみを以下の方法で実現させました (1)テキストボックス選択時のImeMode初期値を全角ひらがなに設定 (2)ボタン押下時のイベントで入力された文字のサイズを確認し、半角が混ざっていたらエラー これで基本的には問題ないのですが、後学のために入力文字自体を全角のみに制限できないかを調べています いろいろ調査してみて半角のみは可能であることがわかり、実際にコーディングもしてみました しかし全角のみは調査しても情報が見つかりません 全角のみの入力制限が可能かどうか、理由も添えてアドバイスいただけると助かります よろしくお願いします。
- 締切済み
- Visual Basic
- ACCESS2000で半角と全角を判断する方法
現在、コンボとテキストボックス入力時に 半角と全角を区別させたいのですが どうしたらいいのでしょうか? また、漢字のみ使えないようにする方法も できたら教えて頂けないでしょうか?
- ベストアンサー
- その他(プログラミング・開発)
お礼
大変参考になりました。 ありがとうございました。