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 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)