はじめに
現在構築中の予約フォームサイトで、電話番号入力欄を用意しているのですが、Inputエレメントの"Content format"を「Text(numbers only)」にしてみたところ、数字のみの入力にはなったものの半角全角の両方が許可されてしまいました。
半角に統一したかったので、入力を半角のみにする方法を探しましたが、自分では見つけられませんでした。
そこで、データベースに取り込む際に全角数字を半角数字にしてしまおう、と考えました。
やりたいこと
半角、全角のどちらで入力された数字も半角数字でデータベースに取り込みたい。
悩んだこと
半角⇒全角、全角⇒半角にするものが標準では用意されていなさそうでした。
(大文字⇒小文字、小文字⇒大文字というのはできそうでしたが)
解決方法
上手いやり方が見つからなかったため、0~9までの各数字について、「0⇒0」というように一文字ずつ置換することにしました。
あまりにもスマートじゃなさ過ぎて、これでいいのか…?と悩んでしまいます。
うーん、でも簡単に変換してくれるような関数用意されてないしなぁ。
入力も半角しか受け付けないようにできないのかなぁ。
とりあえずやりたいことはできているし、高々電話番号の数字の桁数の置換なので処理負荷は大したことないと思うので、これで進めてみます。