
08/07/2010, 10:58
|
| | Fecha de Ingreso: marzo-2009
Mensajes: 1
Antigüedad: 16 años Puntos: 0 | |
Respuesta: Como validar letra Ñ en una funcion javascript para formularios???? Hola amigo espero que lees sirva bueno modifique un código bajado de sangoogle y lo adecue para que valide letras y caracteres especiales
tuve al comienzo problemas con los navegadores
funciona en
google chrome
Mozilla Firefox
Internet Explorer
no lo prove en otros me pasan la voz si corre en otros navegadores
/*
*@jquery.letras.js nombre del archivo
*/
(function($) {
/*
* @author Sam Collett (http://www.texotela.co.uk)
* @author Quispe saltachin luis
* Algunas modificacione en el codigo para validar solo el ingreso de letras
*
*/
$.fn.letras = function(decimal, callback)
{
decimal = decimal || ".";
callback = typeof callback == "function" ? callback : function(){};
this.keypress(
function(e)
{
var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;
if(key == 13 && this.nodeName.toLowerCase() == "input")
{
return true;
}
else if(key == 13)
{
return false;
}
var allow = false;
// allow Ctrl+A
if((e.ctrlKey && key == 97 /* firefox */) || (e.ctrlKey && key == 65) /* opera */) return true;
// allow Ctrl+X (cut)
if((e.ctrlKey && key == 120 /* firefox */) || (e.ctrlKey && key == 88) /* opera */) return true;
// allow Ctrl+C (copy)
if((e.ctrlKey && key == 99 /* firefox */) || (e.ctrlKey && key == 67) /* opera */) return true;
// allow Ctrl+Z (undo)
if((e.ctrlKey && key == 122 /* firefox */) || (e.ctrlKey && key == 90) /* opera */) return true;
// allow or deny Ctrl+V (paste), Shift+Ins
if((e.ctrlKey && key == 118 /* firefox */) || (e.ctrlKey && key == 86) /* opera */) return true;
if(!(( key >=65 && key <=90) ||
(key >=97 && key <=122)||
(key == 241||key==32||key==209||key==225||key==243||key==2 33||key==237||key==250)))
{
if(
key != 8 /* backspace */ &&
key != 9 /* tab */ &&
key != 13 /* enter */ &&
key != 35 /* end */ &&
key != 36 /* home */ &&
key != 37 /* left */ &&
key != 39 /* right */ &&
key != 46 /* del */&&
key != 32 /* home */
)
{
allow = false;
}
else
{
// for detecting special keys (listed above)
// IE does not support 'charCode' and ignores them in keypress anyway
if(typeof e.charCode != "undefined")
{
// special keys have 'keyCode' and 'which' the same (e.g. backspace)
if(e.keyCode == e.which && e.which != 0)
{
allow = true;
}
// or keyCode != 0 and 'charCode'/'which' = 0
else if(e.keyCode != 0 && e.charCode == 0 && e.which == 0)
{
allow = true;
}
}
}
}
else
{
allow = true;
}
return allow;
}
)
.blur(
function()
{
var val = $(this).val();
if(val != "")
{
var re = new RegExp("^\\d+$|\\d*" + decimal + "\\d+");
if(!re.exec(val))
{
callback.apply(this);
}
}
}
);
return this;
};
})(jQuery);
en html inport
descargase el jquery.min.js de la web de jquery
<script type="text/javascript" src="Script/jquery.min.js"></script>
<script type="text/javascript" src="jquery.letras.js"></script>
<body>
<form>
<input class="letras" name="apellidos" type="text" >
<script type="text/javascript">
$(".letras").letras();
</script>
</form>
</body>
</html>
Última edición por PhyLuis; 08/07/2010 a las 11:07
Razón: me olvide poner algo
|