質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

4回答

4329閲覧

HTML inputタグ ハイフン 自動入力

Takalog

総合スコア7

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2021/05/10 02:44

編集2021/05/10 02:57

マイナンバーカードのような個人の番号に対して
4桁ごとに自動でハイフン("-")を入力できるようにさせたいと考えています。
またtypeをPasswordにした際に
表示が(●)に変換されますが、
これを(*)にへんこうすることは可能でしょうか>

HTML

1<input type="Password" maxLength="12"></input>

<実装前>
●●●●●●●●●●●●

<実装後>
●●●●-●●●●-●●●●

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

K_3578

2021/05/10 02:48 編集

よろしくおねがいします言われても作業依頼を無償でやってくれるサイトじゃないので。 まぁやるならJavaScriptとか使わないと無理じゃないかなー。
m.ts10806

2021/05/10 02:57

要件固まってるならまず自ら実装するところからです。
guest

回答4

0

4桁ごとに自動でハイフン("-")を入力できるようにさせたいと考えています。
<input type="Password" maxLength="12"></input>

<input type="password">の中身を自動で加工すると、入力した当人が加工の事実に気づけないためにトラブルとなります。

よほどの理由がある場合を除いて、やるべきではありません。

投稿2021/05/10 02:57

maisumakun

総合スコア146018

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2021/05/10 02:59 編集

> ●●●●-●●●●-●●●● 標準の<input type="password">でこんなことはできません。●●●●●●●●●●●●●●と文字が増えるだけになります。
guest

0

ベストアンサー

すでに回答があるとおりpasswordの入力変換処理は危険なのでやめてください
(整合性チェックはOK)

javascript

1<script> 2window.addEventListener('DOMContentLoaded', ()=>{ 3 const inp=document.querySelector('#inp'); 4 inp.addEventListener('focus',()=>{ 5 inp.value=inp.value.replace(/-/g,''); 6 }); 7 inp.addEventListener('blur',()=>{ 8 var reg=/^(\d{4})(\d{4})(\d{4})$/; 9 if(reg.test(inp.value)){ 10 inp.value=inp.value.replace(reg,"$1-$2-$3"); 11 } 12 }); 13}); 14</script> 15<input type="text" id="inp" pattern="\d{4}(-?\d{4}){2}"> 16

投稿2021/05/10 03:11

編集2021/05/10 03:13
yambejp

総合スコア116736

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

入力しながら勝手にハイフンがつくのは個人的には使いやすいとは思わないので別のやり方を検討したいところ。

  • 入力をハイフンが必要な個数-1 (例示なら3つ)に分けて受け取って表示時にハイフンを補完する
  • 入力時はハイフンつけずに入力させて表示時にハイフンつけて出す

一つのやり方として参考まで。

ただ、要件次第です。
ハイフンで分けられた4桁の数字それぞれに意味があるのでしたら前者のほうが利用者としては視覚的に意識できますし、システム側の入力チェックの都合もいいかもしれません。

あくまで「ような」のようですし、チェックディジットまでは気にしなくていいんですかね。

投稿2021/05/10 02:55

m.ts10806

総合スコア80875

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/05/10 03:05

passwordならなおさら。入力しながらつけるのはNG
guest

0

既に自動でハイフン付けることの危険性に関しては回答付いているので追加要件のみ回答

またtypeをPasswordにした際に
表示が(●)に変換されますが、
これを(*)にへんこうすることは可能でしょうか>

input type=passwordのマスク(黒丸)をアスタリスクに変更したい -teratail
ほぼ同じ内容の質問で追記修正依頼欄含め色々検討しましたが、基本的に不可能です。

無理矢理再現できる方法はあるかも知れませんが荒業なので何かしら不具合起こる可能性は大いにあります。

投稿2021/05/10 03:07

編集2021/05/10 03:13
K_3578

総合スコア1282

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問