質問: ### 前提・実現したいこと 入力フォームを外れた際に、自動で全角文字を半角文字に変換されるようにしたい。 尚且つ、同時に小文字を大文字に変換するようにもしたい。 例:bc12345⇒BC12345 また、可能であれば"cん12345"の様に平仮名が混ざってしまった場合でも キーボードのF10の様にCN12345と変換してくれる様にしたい。 ### 発生している問題・エラーメッセージ こちらのサイトのソースを そのまま使わせて貰い、以下のような簡単なフォームを作成し実行してみたのですが 変換されず困っています。 ``` 変換テスト ``` あまりにも初心者なため意味の分からないことをしているかも知れませんが 教えていただけるとありがたいです。
回答: "cん12345"→”CN12345”の実現是非はともかく、 このコードでは**文字列を取得したものを変換をしているだけ**でどこにもセットしていないから何も起きていません。 returnしてもinputのvalueに返すわけではないですからね。 下記のようにvalueにセットしてやる必要があります。 ``` function toHalfWidth(elm) { elm.value = elm.value.replace(/[A-Za-z0-9!-~]/g, function(s){ return String.fromCharCode(s.charCodeAt(0)-0xFEE0); }); } ```