Tengo un campo de texto y el usuario ingresa el número del SSN. Al ingresar, debe formatear. Al igual que en el cambio de textField ... debe formatear 999-999-999
de esta manera en la pantalla.Autoformat SSN al ingresar el número
Respuesta
<input id="ssn"/>
<script type="text/javascript">
$('#ssn').keyup(function() {
var val = this.value.replace(/\D/g, '');
var newVal = '';
while (val.length > 3) {
newVal += val.substr(0, 3) + '-';
val = val.substr(3);
}
newVal += val;
this.value = newVal;
});
</script>
El guión de @kottenator era casi allí, pero se degrada el valor de cada 3 dígitos, en lugar de 3, y después 2, como el 000-00-0000 necesidad de números de la Seguridad Social.
Hice una pequeña edición y la modifiqué para que funcione según lo previsto. Espero que esto ayude.
<script type="text/javascript">
$('#ssn1').keyup(function() {
var val = this.value.replace(/\D/g, '');
var newVal = '';
if(val.length > 4) {
this.value = val;
}
if((val.length > 3) && (val.length < 6)) {
newVal += val.substr(0, 3) + '-';
val = val.substr(3);
}
if (val.length > 5) {
newVal += val.substr(0, 3) + '-';
newVal += val.substr(3, 2) + '-';
val = val.substr(5);
}
newVal += val;
this.value = newVal.substring(0, 11);
});
</script>
Me gusta cómo también limita la cantidad de caracteres que puede poner en – Jay
Modifiqué un poco la secuencia de comandos de Dennis eliminando los elementos jquery. No estoy seguro de por qué se agregaron las dos primeras cláusulas if, así que las eliminé de esta función. Esta función es un oyente para el SDK Titanium utilizando underscore.js. Pero deberías poder modificarlo para que funcione con otras API de JS.
$.usernameField.addEventListener('blur', function(param) {
var inputString = param.value;
if (inputString.length === 9 && _.isNumber(parseInt(inputString, 10))) {
var val = inputString.replace(/\D/g, '');
var outputString = '';
outputString += val.substr(0, 3) + '-';
outputString += val.substr(3, 2) + '-';
val = val.substr(5);
outputString += val;
$.usernameField.value = outputString;
}
});
El OP solo incluye JavaScript en su etiqueta. Debería intentar no mezclar otras API en su respuesta, ya que es posible que no sepan nada sobre Titanium SDK y underscore.js –
$('#ssn').keyup(function() {
var val = this.value.replace(/\D/g, '');
var newVal = '';
var sizes = [3, 2, 4];
for (var i in sizes) {
if (val.length > sizes[i]) {
newVal += val.substr(0, sizes[i]) + '-';
val = val.substr(sizes[i]);
}
else
break;
}
newVal += val;
this.value = newVal;
});
@ respuesta de Dennis era el mejor aquí, sin embargo, se utiliza jQuery para hacer el selector y el PO no tener una etiqueta de jQuery en este post, simplemente JavaScript. Aquí está la versión de VanillaJS de la solución (o al menos una forma de hacerlo :)
document.getElementById("ssn").onkeyup = function() {
var val = this.value.replace(/\D/g, '');
var newVal = '';
if(val.length > 4) {
this.value = val;
}
if((val.length > 3) && (val.length < 6)) {
newVal += val.substr(0, 3) + '-';
val = val.substr(3);
}
if (val.length > 5) {
newVal += val.substr(0, 3) + '-';
newVal += val.substr(3, 2) + '-';
val = val.substr(5);
}
newVal += val;
this.value = newVal;
};
- 1. Inserte el guion (-) automáticamente al escribir un SSN en un cuadro de texto usando jQuery
- 2. Suprimir linebreak al ingresar al entorno
- 3. Cómo ingresar texto al usar XElement
- 4. Formatear un Número de Seguridad Social (SSN) como XXX-XX-XXXX de XXXXXXXXX
- 5. SIGSEGV al ingresar a una función
- 6. ¿Cómo ingresar al desarrollo de Oracle?
- 7. El mejor camino para ingresar al procesamiento del lenguaje natural
- 8. iOS: finalización de una tarea al ingresar el fondo
- 9. cocos2d-x juego se bloquea al ingresar al fondo
- 10. Posicionamiento del cursor al ingresar al modo de inserción
- 11. Por dónde empezar al ingresar al desarrollo de aplicaciones web
- 12. Ruby: ¿Cambiar el número negativo al número positivo?
- 13. JQUERY La forma móvil salta al ingresar valores
- 14. Cómo detectar al ingresar un campo de contraseña
- 15. Ejecutar una función bash al ingresar a un directorio
- 16. Comportamiento de subprocesos al ingresar fondo en iOS multitarea
- 17. Cómo ingresar al código fuente del Framework en MonoDevelop
- 18. cómo ingresar al código desde jar (no JDK) usando IntelliJ?
- 19. Tratamiento de referencias circulares al ingresar datos en SQL
- 20. ¿Hay alguna manera de ingresar automáticamente al ejecutar un shell?
- 21. Insertar líneas vacías sin ingresar al modo de inserción
- 22. Problema con símbolos: no se puede ingresar al código .NET
- 23. Java reemplazar cadena al aumentar el número
- 24. número convertido al NSNumber
- 25. Ingresar menos en el cuadro de texto RTL
- 26. NSString al número doble
- 27. Ingresar datos en una cuadrícula
- 28. focus() para ingresar sin desplazarse
- 29. ¿Es posible ingresar al modo de depuración para Android al ejecutar la prueba junit?
- 30. ¿Cómo enviar un formulario al ingresar cuando el área de texto tiene foco?
En realidad, el número de la seguridad social está en formato de '000-00-0000'. – ca9163d9