Máscara //Repositório JavaScript
Descrição
Aplica uma máscara a uma string.
Criado: 2005.10.02
Criado: 2005.10.02
Código (Download)
//+ Carlos R. L. Rodrigues
//@ http://jsfromhell.com/string/mask [rev. #1]
String.prototype.mask = function(m) {
var m, l = (m = m.split("")).length, s = this.split(""), j = 0, h = "";
for(var i = -1; ++i < l;)
if(m[i] != "#"){
if(m[i] == "\\" && (h += m[++i])) continue;
h += m[i];
i + 1 == l && (s[j - 1] += h, h = "");
}
else{
if(!s[j] && !(h = "")) break;
(s[j] = h + s[j++]) && (h = "");
}
return s.join("") + h;
};
Exemplo (Exemplo)
<script type="text/javascript">
//<![CDATA[
document.write(
"\"", s = "12345678900", "\".mask(\"", m = "###.###.###,##", "\") = ", s.mask(m), "<br />",
"\"", s = "1234", "\".mask(\"", m = "x:##, y: ##", "\") = ", s.mask(m), "<br />",
"\"", s = "TEST", "\".mask(\"", m = "\\#-#*#/#^#", "\") = ", s.mask(m), "<br />"
);
//]]>
</script>
Ajuda
- String.mask(mask: String): String
-
Retorna a string com a máscara já aplicada.
- mask
- máscara a ser utilizada
Observações
A máscara substitui as ocorrências de "#" pelos caracteres da string, sendo assim, se você precisar utilizar o caracter "#" como parte da máscara, basta "comentá-lo" com "\\", ex: "\\#".
A máscara é aplicada da esquerda para a direita, se a string contiver menos caracteres que a máscara, os caracteres "extras" da máscara serão ignorados.
Se a string contiver mais caracteres que a máscara, os caracteres restantes da string serão adicionados ao fim da máscara.
Ranque (Votos: 40)
4.03