Solo letras con javascript

Amix hay una función que solo me permita escribir letras y espacios en cajas
he utiizado este
<script language="javascript">
function sololetras(){
if (event.keyCode >45 && event.keyCode  <57) event.returnValue = false;
}
</script>
<input type="text" name="textfield2" id="textfield2" onKeypress="sololetras()" maxlength="30" />
Que en cierta parte funciona pero cuando coloco +-/*{ç][ " y otras cosas que no deben estar entran necesito solo que esbriban letras del abecedario abñ y espacios... Por otro lado ademas es posible tener esta funcion de javascript en una page.php y de ahi llamar en donde los necesite porque esta funcion lo debo utilizar en varias paginas y si fuera asi como seria el llamado
necesito tambien una funcion que solo permita numeros no otras cosas y ademas una funcion que me permita registrar correos .ddd.-@hotmail
Respuesta
1
Bien te dejo aquí unos ejemplo de como validar sólo letras, números y correos, espero que te sirva, si tienes cualquier pregunta dímelo:
Para utilizarlas en varias páginas, guarda todas las funciones en un archivo como por ejemplo funciones.js y luego en el PHP pones:
<script type='text/javascript' src='/js/funciones.js'></script>
// LETRAS
<script type="text/javascript">
function validar(e) {
tecla = (document.all) ? e.keyCode : e.which;
if (tecla==8) return true;
patron =/[A-Za-z\s]/;
te = String.fromCharCode(tecla);
return patron.test(te);
}
</script>
<input type="text" name="textfield" onkeypress="return validar(event)" />
// NÚMEROS
<script type="text/javascript">
function validar(e) {
tecla = (document.all) ? e.keyCode : e.which;
if (tecla==8) return true;
patron = /\d/;
te = String.fromCharCode(tecla);
return patron.test(te);
}
</script>
// VALIDAR E-MAIL
<script language="JavaScript" type="text/JavaScript">
function validarEmail(valor) {
if (/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/.test(valor)){
return 0;
} else {
return -1;
}
}
</script>
En la validación de letras necesito que admita también la ñ o Ñ
Alguna modificación
Y para llamar a la validación por favor
¿Del correo como es?
Puedes cambiar el patrón por esto:
patron =/[A-Za-zñÑ]/;
Lo puse como me dijiste pero igual sigue
Ademas como hago para llamar la función del correo
¿Al final te funciono lo de la eñe? Es por dar por finalizada esta pregunta y centrarnos en la otra :).
¿Si me funciono pero para las demás páginas no se porque? No me funciona en una página en especial si hago lo mismo que en las demás

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas