2011-06-24 13 views
5

Me gustaría formatear un número sobre la marcha como tipos de usuario. Hay un par de plugins utiles como jquery.maskedinput, pero ninguno de ellos es capaz de crear una máscara dinámica que trabajar con todos los escenarios:¿Cómo formatear los números dinámicamente en el campo de entrada?

  • 1000000 -> 1 000 000
  • 100000 -> 100 000
  • 10,000 -> 10 000

Y así sucesivamente. Tal vez hay una manera inteligente de lograr esto con jquery dinámicamente como tipos de usuario? O tal vez me perdí un plugin que hace esto? :)

+0

Esto debe ser whe n los tipos de usuario y no onblur? – natedavisolds

+0

Sí, dado que el campo contendrá un número grande, es una ayuda para un usuario no cometer un error :) – pielgrzym

Respuesta

1

Aquí es una buena expresión regular para tomar la cadena aparte correctamente: javascript split string at parts

Y aquí es un pequeño plugin experimental que parece funcionar bien ahora (gracias a Segaja de #jquery en freenode!):

https://gist.github.com/1047003

Para usarlo basta con incluir en el código de la página y añadir:

$("input.someclass").formatInput(); 
1

Hay un buen complemento que puede formatear y analizar números como este. jquery-numberformatter

Lo que desea hacer es cambiar el valor del campo, analizar inmediatamente el valor del campo y volver a establecerlo en el formato que desee.

+1

Esta solución es demasiado pesada - Tengo que incluir el script del complemento y el script jshashtable como una dependencia, mientras que necesito analizar 3-5 campos Cada dependencia adicional es una penalización en el puntaje de velocidad de la página de google. Prefiero ir a algún fragmento de código o un pequeño complemento que podría incluir en el código de la página directamente :) – pielgrzym

Cuestiones relacionadas