Pregunta

I tiene requisitos para enmascarar un campo de cremallera de modo que permite que los clásicos 5 dígitos postales (XXXXX) o 5 formato + 4 (XXXXX-XXXX).

pude así que algo como:

$('#myZipField').mask("?99999-9999");

pero la complicación viene del hecho de que el tablero no se debe mostrar si los pone de usuario en sólo 5 dígitos.

Este es el mejor que se me ocurrió hasta ahora - podría extenderlo a de inserción automática del tablero cuando se insertan el sexto dígito, pero el problema con esto sería un comportamiento divertido en deleción (I podría detenerlos de borrar el tablero pero sería un parche en el parche y así sucesivamente, se convierte en una pesadilla):

$.mask.definitions['~']='[-]';
$("#myZipField").mask("?99999~9999", {placeholder:""});

¿Hay alguna fuera del camino cuadro de hacer esto o tengo que rodar mi propia?

¿Fue útil?

Solución

Usted no tiene que utilizar un plug-in diferente. Basta con mover el signo de interrogación, por lo que en lugar de:

$('#myZipField').mask("?99999-9999");

se debe utilizar:

$('#myZipField').mask("99999?-9999");

Después de todo, no es toda la cadena que es opcional, sólo el - y hacia adelante.

Otros consejos

Si estás usando jQuery ya, hay probablemente cientos de plugins para máscaras, etc., por ejemplo: http://www.meiocodigo.com/projects/meiomask/

Así que no creo que lo tienes que rodar su propia

Este código postal es realmente simple, pero cuando se tiene un formato más complejo de manejar, aquí es cómo se soluciona con el plug-in (de la página de demostración ):

var options =  {onKeyPress: function(cep, e, field, options){
  var masks = ['00000-000', '0-00-00-00'];
    mask = (cep.length>7) ? masks[1] : masks[0];
  $('.crazy_cep').mask(mask, options);
}};

$('.crazy_cep').mask('00000-000', options);

¿Por qué no tiene el campo ser transparente y tener un objeto de texto detrás de él con la forma en gris claro? Así que ven ####### - #### en el fondo, y luego plataforma para que las letras que desaparecen a medida que escribe. En ese punto, se sugiere que se deben introducir un guión si quieren poner el extra cuatro, ¿verdad? Entonces, sólo podía manipular el script para autoinsert el guión si echan a perder y tipo 6 números?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top