Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
ngx-mask is an Angular library that provides input masking capabilities. It allows developers to define patterns for input fields, ensuring that users enter data in a specific format. This is particularly useful for fields like phone numbers, dates, and credit card numbers.
Basic Input Masking
This feature allows you to apply a basic mask to an input field. In this example, the input field will only accept numbers in the format of '0000-0000-0000-0000', which is useful for credit card numbers.
<input type='text' mask='0000-0000-0000-0000' />
Date Masking
This feature allows you to apply a date mask to an input field. The input field will only accept dates in the format of 'DD/MM/YYYY'.
<input type='text' mask='00/00/0000' />
Custom Masking
This feature allows you to create custom masks. In this example, the input field will accept a pattern like 'A0A 0A0', which is useful for postal codes.
<input type='text' mask='A0A 0A0' />
Dynamic Masking
This feature allows you to apply a mask dynamically based on a variable. The 'dynamicMask' variable can be changed at runtime to apply different masks.
<input type='text' [mask]='dynamicMask' />
text-mask is a library that provides input masking for various frameworks including Angular, React, and Vue. It offers similar functionality to ngx-mask but is more versatile as it supports multiple frameworks.
cleave.js is a JavaScript library for formatting input fields. It supports a wide range of input types including credit card numbers, phone numbers, and dates. Compared to ngx-mask, cleave.js offers more built-in formats and is framework-agnostic.
imask is a versatile input masking library that supports a wide range of input types and custom masks. It is similar to ngx-mask but offers more advanced features like dynamic mask changing and custom mask definitions.
$ npm install --save ngx-mask
Import ngx-mask module in Angular app.
import {NgxMaskModule} from 'ngx-mask'
(...)
@NgModule({
(...)
imports: [
NgxMaskModule.forRoot(options)
]
(...)
})
Then, just define masks in inputs.
<input type='text' mask='{here comes your mask}' >
mask | example |
---|---|
9999-99-99 | 2017-04-15 |
0*.00 | 2017.22 |
000.000.000-99 | 048.457.987-98 |
AAAA | 0F6g |
SSSS | asDF |
You can define your custom options for all directives (as object in the mask module) or for each (as attributes for directive)
We have next default characters:
character |
---|
/ |
( |
) |
. |
: |
- |
space |
+ |
, |
@ |
<input type='text' specialCharacters="[ '[' ,']' , '\' ]" mask="[00]\[000]" >
Input value: 789-874.98
Masked value: [78]\[987]
We have next default patterns:
code | meaning |
---|---|
0 | digits (like 0 to 9 numbers) |
9 | digits (like 0 to 9 numbers), but optional |
A | letters (uppercase or lowercase) and digits |
S | only letters (uppercase or lowercase) |
<input type='text' patterns="{'0': { pattern: new RegExp('\[a-zA-Z\]')}}" mask="(000-000)" >
Input value: 789HelloWorld
Masked value: (Hel-loW)
You can choose if mask will drop special character in the model, or not, default value true
<input type='text' [dropSpecialCharacters]="false" mask="000-000.00" >
Input value: 789-874.98
Model value: 789-874.98
You can choose clear the input if the input value not match the mask, default value false
Check the demo.
FAQs
awesome ngx mask
The npm package ngx-mask receives a total of 297,354 weekly downloads. As such, ngx-mask popularity was classified as popular.
We found that ngx-mask demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.