Custom mask
Hazır maske yetmediğinde kendi maske dizginizi ve MaskOptions alanlarını kullanın.
Sözdizimi
Maske dizgisindeki özel token’lar:
| Token | Anlam |
|---|---|
9 | Rakam (0–9) |
a / A | Harf (a–z). Büyük/küçük için transform kullanın |
* | Herhangi bir karakter |
| Diğer | Literal ayırıcı ( , /, (, )…) |
rawValue: —
value: —
MaskOptions
Sık kullanılan alanlar:
mask: pattern dizgisitransform:uppercase|lowercaseallowedChars/forbiddenCharsdisplayPrefix: gösterilir, ham değere yazılmaz (IBAN’dakiTR)currency,dateFormat,alphaFormat,usernameFormattype,inputMode,autoCompletepreset: hazır maske üzerine override
resolveMask
Dinamik maske için resolveMask(value, allValues, schema) yeni bir maske dizgisi (veya undefined) döner. Kart (Amex) ve CVV hazır maskeleri bunu kullanır: kardeş alanlara bakarak maskeyi günceller.
{
mask: "9999 9999 9999 9999",
resolveMask: (value) => {
const digits = value.replace(/\D/g, "")
if (digits.startsWith("34") || digits.startsWith("37")) {
return "9999 999999 99999" // Amex
}
return undefined
},
}