全角英数字を自動的に半角変換するソース

このQ&Aのポイント
  • 全角英数字を自動的に半角に変換するソース(Javascript)を紹介します。
  • このソースコードは、フォームに入力された全角英数字を半角に変換するためのものです。
  • 具体的には、全角の英数字を半角の英数字に一括変換する処理を行います。
回答を見る
  • ベストアンサー

全角英数字を自動的に半角変換するソース

全角英数字を自動的に半角変換するソース パソコン初心者です。 以下は、 フォームに入力された全角英数字を自動的に半角に変換するソース(Javascript)のようなんですが どういった意味なのかよくわかりません。 一体どういう仕組みなんですか?? function zentohan(obj){ if(typeof(obj.value)!="string")return false; var han= '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@-.,:'; var zen= '1234567890abcdefghijklmnopqrstuvwxyz            ABCDEFGHIJKLMNOPQRSTUVWXYZ@-.,:'; var word = obj.value; for(i=0;i<zen.length;i++){ var regex = new RegExp(zen[i],"gm"); word = word.replace(regex,han[i]); } obj.value = word; }

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

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

zenが全角の文字を並べたもの(調べるため)。 hanがそれと同じ順で対応する半角の文字を並べた文字列。 対象とする文字列(obj.value)の中に、zenのどれかと同じ文字があれば、それを対応するhanの文字に置換えて返すという仕組みです。

part877
質問者

お礼

ありがとうございます!! 助かりました。

関連するQ&A

  • javascriptで記号の半角→全角変換

    Javascriptで記号の半角→全角変換をしようとしていまして、ちょっとエラーで困っております。 もし何かご存じの方がおられましたら、教えて頂けたら助かります。 【やりたいこと】 半角の英数記号を全角に変換する。 【試したコード】 var target = '0123( )'; var han= '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()=-~\\[]{}<>,.?/_'; var zen= '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!”#$%&’()=-~¥[]{}<>,.?/_'; for(i = 0; i < han.length; i++){ var regex = new RegExp(han[i], 'gm'); target = target.replace(regex, zen[i]); } 【結果】 カッコ"("の変換のときにvar regex = new RegExp(han[i], 'gm');でエラー発生。 エラー→javascript unterminated parenthetical エスケープしたりして試しましたが、()[]?辺りがやはりだめだったりします。 お知恵をいただけましたらm(_ _)m

  • 全角英数字を半角英数字に変換したい

    全角英数字を半角英数字に変換する方法を教えて下さい。 $data =~ tr/0-9a-zA-Z/0-9a-zA-Z/; 以上のようにした場合、J-perl意外では望みどおりに変換されません。 jcode.plをつかって 全角英数字を半角英数字に変換する方法があると、 書かれていた方がいましたので、 できればjcode.plをつかった場合の 具体的なスクリプトの書き方を教えて下さい。 よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • 全角英数字を半角に変換

    テキスト文章で ひらがなと全角英数字の文章がありますが、 全角英数と句読点のみ半角に変換したいのですが、 なにか簡単にできる方法はないでしょうか? osはwindows98です。

  • 英数字の全角と半角はどう変えたらいいのでしょうか。

    ウインドウズから初めてマックを導入している初心者です。 英数字の全角と半角はどのようにして変えたらいいのでしょうか。 大文字小文字はシフトキー押しながらで変わったのですが、全角と半角だけがうまく変換できません。

    • ベストアンサー
    • Mac
  • 半角カナは全角カナに、全角英数字は半角英数字に、一気に置換したい

    「半角カナは全角カナに、全角英数字は半角英数字に、一気に置換したい」と考えた時、同じ様な質問とそれに対する回答は沢山有るのですが、意外に満足出来るやり方が見つからず、大変困っています。 大きな制約条件(これが難題...)として、会社が管理するWindows機なので、使って良いのはWordとExcelだけだという問題が有ります(便利なユーティリティーソフトを見つけても、インストール出来ない)。WordとExcelのマクロは、辛うじて、使用可です。 WWWでWordでのマクロの作例を探し当て、これは良いかなと思ったら、小文字の全角英数字が全部大文字の半角英数字になってしまい、これは駄目でした。 また、Wordの「文字種の変換」を試用してみると、「半角」を指定してテキスト全体を選択して変換した場合、全角英数字が半角英数字になるのは良いのですが、全角カナが半角カナになってしまい、これも非常に不都合でした。 尚、主なターゲットは、ワークシートとかではなくて長文のテキストなので、色々な回答例で「Excelの関数を使えば良い」と書かれている説明を読むと、ちょっと不便だなと感じました。 Wordでのマクロで、完璧なものが有れば、OKなのだと思うのですが、自分には未だそれを作る能力が有りません(これを機に、勉強したいと思っています)。良い解決策や、マクロが有れば、是非お教え下さい。

  • 全角英数字を半角英数字に置換する

    全角英数字を半角英数字に置換するJavaScriptを探していて、 見つけはしたのですが、HTML側の書き方が分かりません。 下記がそのソースになります。 onBlurで動くようにしたい場合、どのようにHTML側を記述してやったらよいでしょうか。 /* 全角英数字を半角英数字に置換する */ function z2h_word(src) { return src.replace(/([A-Za-z0-9_])/g, function ($0) { return String.fromCharCode($0.charCodeAt(0) - 65248); }); } 変な質問で申し訳ないですが、わかる方教えて下さい。

  • 全角英数字とハイフンを半角に変換したいです。

    住所などに含まれる全角英数字とハイフンを半角へ変換したく、Javaのソースが置いてあるサイトなどを 探したのですが、見つかりませんでした。 このような痒いところに手がとどく ユーティリティー系のクラスは どこかにありますでしょうか? 他の言語では標準関数や標準的な物があるのですが、 Javaでないのは、簡単に作れる為なのでしょうか?

  • 全角英数字を半角に変換

    WindowsXPでファイルやフォルダが数千あり保存名がバラバラなので 統一しようと試みています。力を貸してください。 作業1.全角英数字を半角に変換 作業2.半角カタカナを全角カタカナに変換 現在) フォルダ名:実験資料01_012 ファイル名:実験結果プリント01.xls 改正) フォルダ名:実験資料01_012 ファイル名:実験結果プリント01.xls 例の様に一括変換ソフトやスクリプトをご存知の方いませんか。 参考にしたURL:http://okwave.jp/qa281720.html ここでは、フォルダ名は確かに変わりましたが、全角と半角が混ぜると 半角が削除されてしまいました。

  • Excelで全角英数字を半角英数字に変換

     こんばんは!  お世話になります。 Excel sheetの列(F・G・J・K・N・O・R・S・V・W・Z・AA)、行(4~33)に アルファベットを入力するし、35行目以降に(例)A=1・B=2と"COUNTIF"関数使用でカウントされる様になっています。 そこで、その関数の式に半角英数字で入力した為、半角英数字で入力したものしかカウントされません。 入力時の注意で、半角英数字での統一入力でお願いしたものの、やはり中には全角英数字で入力する方もいて、一つ全角入力があると全て信用出来なくなり、折角自動でカウントされるようにしていても全部見直していては自動にした意味がありません。  その為、関数 or マクロでも結構です。 入力した範囲を選択して、半角英数字”A”の場合はそのままで全角英数字”A”の場合半角”A”に上書きされるようなことは出来ますか?  知っている中で、関数”ASC”も全角を半角に変換できますが、入力したセルと別のセルに返すので、そうではなく、入力してあるセルに上書きしたいのです。  ご存知の方がいらっしゃいましたら、宜しくお願いします。 お手数ですが初心者の為、具体的に教えて頂けたら幸いです。 ”のものは半角英数字  

  • 半角が見やすく半角全角比率が2対1のフォント

    プログラミングで見やすいフォントを探しています。 これまでデフォルトでインストールされているものや、人気の高いものを入れて確認してみました。  Ricty Diminished  Myrica  VLゴシック  Source Han Code JP  など そして気に入ったのがSource Han Code JPです。 どうも自分としては半角英数字が縦長より真四角に近いほうが好みのようです。 6つぐらい太さなどが違うのを選択できるのも気に入っています。 ただ残念なのが半角3文字に対して全角2文字という比率になっていることです。 これだと見た目を各行で揃えたいときに合わない場合があり、合わせるのにも無理やりだったり手間がかかったりします。 そこでSource Han Code JPと同じ半角文字で、かつ半角全角比率が2対1の全角を備えたフォントはないものでしょうか。

専門家に質問してみよう