Mask
The d-mask
directive allows you to apply input masks, ensuring consistent formatting for fields like phone numbers, credit cards, and currency inputs.
Installation
To use d-mask
, include the DOMY Mask plugin via CDN:
<script src="https://unpkg.com/@domyjs/mask@1.x.x"></script>
And then:
DOMY.createApp().plugins([mask]).mount();
Syntax and Usage
Basic Mask Usage (Static)
Use a predefined mask structure.
<input type="text" d-mask="99/99/9999" placeholder="DD/MM/YYYY" />
💡 Mask Rules:
9
→ Number (0-9)a
→ Letter (A-Z or a-z)*
→ Any character
Dynamic Mask Usage
Define a mask dynamically based on user input.
<input type="text" d-mask.dynamic="maskType" placeholder="Dynamic mask applied" />
const maskType = input => {
return input.includes('@') ? 'a*@a*' : '999-999-9999';
};
Money Formatting Helper ($money
)
Format currency inputs dynamically.
<input type="text" d-mask.dynamic="$money" placeholder="$0.00" />
💡 Usage Options
$money(input, decimalSeparator = '.', thousandsSeparator = ',', precision = 2)
- Ensures consistent money formatting with thousands and decimals.
Example: Full Mask Implementation
<div>
<p>Phone</p>
<input type="text" d-mask="999-999-9999" />
<p>Price</p>
<input type="text" d-mask.dynamic="$money" placeholder="$0.00" />
</div>