2020-07-18

Phone Number プラグインを使って Craft CMS に電話番号用の入力欄を用意してみる #craftcms

【2020-0719追記:電話番号ルールについて教えてもらったので追記】

Phone Number というプラグインがあるのを教えてもらったので試してみた。

Phone Number
https://plugins.craftcms.com/p...

プラグインのインストール

composer で追加する。

composer require rynpsc/craft-phone-number

プラグインをインストールする。

Phone Number フィールドの追加

フィールドに、Phone Number というものが追加された。

とりあえずセクションに設定してみる。

フィールドの保存状況

下書き保存できるかどうか?で確認してみる。

異常なのとかははじいてくれる様子。

これもNGになった。

これもだめ

10桁もだめ

9桁なら通った。

ハイフンあっても問題ない

これも問題ないみたいだからハイフンは見てない感じで、数字だけってことかな。。

出力の時にいくつかフォーマット選べたり、国番号出せるとかがメリットと考えると良さそう。

日本のが9桁なのはちょっとわからないけど。。。


以下追記

電話番号の仕様について教えてくれた。感謝感謝m(__)m
(自分で調べろという話ではあるが・・・)

使われてるライブラリ

giggsey/libphonenumber-for-php
https://github.com/giggsey/lib...

とそのもとのライブラリ

google/libphonenumber
https://github.com/google/libp...

んで電話番号のルール。

総務省|電気通信番号制度|電話番号に関するQ&A
https://www.soumu.go.jp/main_s...
◆初めの「0」は、国内プレフィックスと呼んでおり、国内通話を示す「合図」です。これに続く市外局番は1~4桁であり、この部分については地域ごとに総務省告示で規定しています。(市外局番の一覧)。市外局番の1桁目は、北から南へいくにつれて数字が大きくなっていきます。また、市内局番は1~4桁であり、この部分については総務省が電話会社ごとに指定を行うこととしています(電気通信番号指定状況)。
◆市外局番と市内局番の桁数は合せて5桁ですが、電話番号がたくさん必要な地域では市内局番の桁数が長くなっています。
https://www.soumu.go.jp/main_sosiki/joho_tsusin/top/tel_number/q_and_a.html

へーなるほど。最初の0は国内通話の定義なのか。
その上で加入者番号が4桁、と。合計9桁。

んで、国外からかけるときは国番号の後に0を省略して市外局番から、と。

◆ ここで注意しなければならないことは、国際プレフィックスは国毎に異なっていること、日本国内の電話番号には国内プレフィックス(市外局番の前の「0」)を省略して市外局番からダイヤルすることです。
https://www.soumu.go.jp/main_sosiki/joho_tsusin/top/tel_number/q_and_a-2001apr.html

なるほどなるほど。
ということで、市外局番と市内局番が合計5桁。加入者番号が4桁で合計9桁だからバリデーションも9桁。

なるほどなー。