表題の通り、
フォームに全角で入力された電話番号(及びハイフン「ー」)をリアルタイム(入力中)で半角にしたいです。
フォームからフォーカスが外れた時に全角→半角にする記事は見つかったのですが、
入力中に全角→半角にする記事が見つかりませんでした。
やり方がわかる方がいらっしゃいましたらご教示いただきたいです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
入力中に全角→半角にする記事が見つかりませんでした。
操作性を考え抜いて「それがいい」となった、もしくは関係者しか使わず挙動が熟知される場面なのでしたらいいのですが、そうでないならフォーカスが外れたときに実装することをおすすめします。
入力中の文字列を変更すると、「かな漢字変換との相性」「カーソル位置の問題」など、良好な操作性を確保するために考慮すべき部分が数多くなります。
投稿2021/03/11 13:06
総合スコア145975
0
inputイベントで値をみてヒットしたらレプレースしてください
javascript
1<input type="text"> 2<script> 3document.querySelector('input').addEventListener('input',e=>{ 4 var v=e.target.value; 5 var reg=/ー-/g; 6 if(reg.test(v)){ 7 e.target.value=v.replace(reg,'-'); 8 } 9}); 10</script>
投稿2021/03/11 10:23
編集2021/03/11 10:32総合スコア116694
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/12 00:32
2021/03/12 10:01
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。