Ver Mensaje Individual
  #10 (permalink)  
Antiguo 24/05/2012, 08:08
Avatar de IsaBelM
IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 6 meses
Puntos: 1012
Respuesta: Restringir cantidad de carácteres de tecla presionada de forma sostenida

zerokilled, emprear tenéis razón con respecto a las consonantes y vocales que se pueden duplicar. yo me voy a basarme en el español (castellano, para no herir susceptibilidades). no compruebo los números por que no hay manera de saber que cifra se quiere insertar

no lo he probado a fondo
Cita:
var key = '', repetidas = 0;
function fnc(evt, elem) {
var keyCode = (document.all) ? evt.keyCode : evt.which;
var letra = String.fromCharCode(keyCode);
if (key != letra) {
key = letra;
repetidas = 0
}
else if (/(l|n|o|r)+/.test(key)) {
repetidas++;
if (repetidas >= 2) {
elem.value = elem.value.substr(0, elem.value.length-1);
}
} else {
key = letra;
repetidas = 0
elem.value = elem.value.substr(0, elem.value.length-1);
}
}
se me había olvidado esta parte
Cita:
Iniciado por emprear Ver Mensaje
Observaciones:
la detección de caracteres repetidos y consecutivos (mas de 2 en el ejemplo) se produce en todos los navegadores...
Si quito el alert, el reemplazo de la secuencia repetida no se produce.
En IE el reemplazo es completamente irregular en su comportamiento...
En Firefox, si deseamos borrar texto con backspace, no detecta la repetición pero tras mantener la tecla apretada por 3 caracteres, me manda a la página previa del navegador, cosa que no hacen IE ni Chrome.
La variante de quitar el alert y al detectarse la repetición mandar el foco a un inpput invisible, es interesante....
Y no sigo porque carece de sentido, con que el usuario en lugar de mantener la tecla apretada, se dedique a apretar/soltar/apretar/soltar, el usuario va a burlar cualquier obstáculo y va a poooooooooooooooooooooooooder escriiiiiiiiiiiiiiiiiiiiiiibir lo queeeeeeeeee se le ocuuuuuuuurra.

Saludos
es como cuando lees las contraindicaciones de un fármaco. se te pasan todo los males (virgencita que me quede como esto)
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}

Última edición por IsaBelM; 28/05/2012 a las 05:42