ssn máscara con jquery en android2.3.3

Estoy intentando proporcionar una máscara para permitir que el usuario incorpore ssn en el formato de 999-99-9999. Intenté utilizar el complemento de entrada enmascarado del mazo digital . Esto funciona bien en cromo y safari, pero no funciona en Android.

Problema: Al ingresar los números, está bien hasta 123- y cuando ingreso los 2 dígitos siguientes invierte la secuencia. por ejemplo: si entre 123-45 aparece como 123-54 y este problema continúa para cada separador. Por ejemplo: si ingreso 123-45-6789, aparece como 123-56-8974

Intenté escribir mi propio código como abajo para manejar el keypress y el keyup y todavía conseguir el mismo problema. ¿Alguien ha tenido éxito con la entrada de enmascaramiento en android? ¿Cuál es la alternativa?

Aquí está el html completo con enlaces locales al código:

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title> test ground</title> <!-- JQuery specific --> <script type="text/javascript" src="libs/jQuery/jQuery.min.js" ></script> <script type="text/javascript" src="libs/jQuery/mobile/jquery.mobile.min.js"></script> <link rel="stylesheet" href="libs/jQuery/mobile/jquery.mobile.min.css" /> <script src="javascript/jquery.maskedinput-1.3.js" type="text/javascript" charset="utf-8"></script> <!-- Application specific --> <script type="text/javascript"> $(document).bind('mobileinit',function(){ // $.mobile.page.prototype.options.addBackBtn = true; // $.mobile.page.prototype.options.backBtnText = "Previous"; // $.mobile.page.prototype.options.backBtnTheme = "b"; }); $("[data-role='page']").live("pageshow", function(event) { $("#primaryssn").mask("999-99-9999"); }); </script> </head> <body> <!-- ################### PAGE: launchpage ################### --> <div data-role="page" id="launchpage"> <div id="header" data-role="header" data-position="fixed" > <div id="headerlogo" > </div> <h1 class="appTitle" >My App</h1> </div> <div data-role="content" > <div class="content-primary"> <p> Welcome to my app </p> <br/> </div> <!-- Primary SSN --> <div data-role="none"> <label name="lblprimaryssn" for="primaryssn" > SSN</label> <input type="text" name="primaryssn" id="primaryssn" value="" /> <span class="error" id="primaryssnerror"> Please enter your SSN as (999-99-9999) </span> </div> <br/> </div><!-- /content --> </div><!-- /launch page --> </body> </html> 

Aquí está el código que usé para enmascarar la entrada basado en el golpe de la llave en el keyup:

 // _v is value passed in on keyup in this input field // _d indicates if the key is a backspace to delete character var setSSN = function (_v, _d){ var v = $.trim(_v); if ( !_d ){ if ( v.length <= 3 ) { var validformat1=/^\d{1,3}$/ ; if ( validformat1.test(v)) { if ( v.length == 3 ) v = v + '-'; return v; } } else if ( v.length >3 && v.length <= 6) { var validformat2=/^\d{3}\-\d{0,2}$/ ; if ( validformat2.test(v)) { if ( v.length == 6 ) v = v + '-'; return v; } } else { var validformat3=/^\d{3}\-\d{2}\-\d{0,4}$/ ; if ( validformat3.test(v)) { if ( v.length == 6 ) v = v + '-'; return v; } } v = v.substring(0,v.length-1); return v; } else { if ( 3 == v.length || 6 == v.length ) { v = v.substring(0,v.length-1); } } return v; } 

2 Solutions collect form web for “ssn máscara con jquery en android2.3.3”

Si sólo desea ocultar los caracteres que escriben, puede utilizar

 <input type="password"> 

Este problema se ha solucionado en el complemento jquery de entrada enmascarado. La actualización de la versión más reciente debería resolver este problema.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.