viernes, 16 de octubre de 2015

Validar inputs y el problema de la ñ y los acentos

Tal vez muchas veces hayas necesitado validar tus formularios y encontraste varias soluciones en Internet, pero venían con ese pequeño problema de que la letra 'ñ' lo tomen como un carácter inválido, cuando quieres q en un campo de texto solo se puedan escribir letras.
Aquí te muestro la solución a ese problema:

Para que tu página reconozca la letra 'ñ'  como carácter debes hacer que tu página tenga el formato "utf-8" que permite que se represente cualquier carácter Unicode, implementando esto cualquier validador que tengas funcionará con la letra 'ñ'  
Simplemente en la cabecera de tu página debes Agregar :
<meta charset="utf-8">

Bueno si no tienes ningún validador a la mano aquí te paso uno que lo haré usando la librería Jquery



<html>
<head>
<meta charset="utf-8">
<script src="js/jquery.min.js" type="text/javascript"></script>
<style type="text/css">
.error{
background-color: red;
padding: 6px 12px;
border-radius: 1px;
position: absolute;
color:white;
height: 30px;
width: 115px;
}
.error:before{
content:'';
border-top: 8px solid transparent;
border-bottom: 8px solid transparent;
border-right: 8px solid red;
border-left: 8px solid transparent;
left: -16px;
position: absolute;
top: 7px;
}
</style>
</head>
<body>
<input type="text" placeholder="Nombre" class="letras"/><br><br>
</body>
<script>
$('.letras').keyup(function(){
var cadena=$(this).val();
var tam=cadena.length;
if(tam>0){
var valor=cadena.substr(tam-1,tam);
var letras=" abcdefghijklmnñopqrstuvwxyz";
if(!(letras.indexOf(valor)>-1)){
$(this).val(cadena.substr(0,tam-1));
$(this).after("<span class='error'>Solo Letras</span>");
setTimeout(function(){
$('.error').fadeOut();
},1000);
}
}
});
</script>
</html>
Ejemplo


Espero que sea de ayuda 

No hay comentarios.:

Publicar un comentario