4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

コイツを解説していく

MaskはAlpine.jsの拡張機能です。

Maskでできること

inputに入力する値の形式を統一することができます。

導入方法

CDNの方が楽な気がします。

CDN

HTMLファイルに張り付けるだけです。

<!-- Maskプラグイン -->
<script defer src="https://unpkg.com/@alpinejs/mask@3.x.x/dist/cdn.min.js"></script>

npm

まずnpmでインストール

npm install @alpinejs/mask

その後、バンドルするjsファイルにこう書きます。

import Alpine from 'alpinejs'
import mask from '@alpinejs/mask'
 
Alpine.plugin(mask)

これで使えます。

使用例

実際の公式ページで挙動を確認できるので確認してみてください。
(リンクのURLの表示が同じですが、それぞれ違うMaskへのリンクになっています。)

例① 日付の入力

input内の日付を「MM/DD/YYYY」に統一することができます。
しかも数字以外の入力を受け付けません。
設定すれば色々な日付表示にできるようです。

例② 電話番号の入力

電話番号は国や地域で入力値が違いますよね。
(東京の03-xxxx-xxxxや福岡の092-xxxx-xxxx、携帯電話の080-xxxx-xxxx、フリーダイヤルの0120-xxx-xxxなど)
Maskを使えば「0120の時はxxx-xxxの3桁区切り」「03の時はxxxx-xxxxの4桁区切り」といった具合で動的にinputの値を制限できます。

例③ 金額の入力

金額を入力する時に自動的に3桁区切りで表示してくれます。
(123,567円みたいな感じ)

Alpine.jsが既に$moneyという関数を用意しているので、公式ページをコピペで使えてしまいます。

まとめ

ユーザーの入力の仕方に頼らずに入力値を統一できる!
便利すぎンゴ。

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?