EJEMPLOS CHECK INPUT TEXT

by jpeter06

HTML

<script src="http://jcaret.googlecode.com/files/jquery.caret.1.02.js"></script>
<table>
    <tr>
        <td>_e0e7d0d1</td>
        <td> <input type="text"  onkeypress="checkFormatAllNumbers(event,this,_e0e7d0d1);" />
        </td><td>negativo, 1 decimal y 7 enteros</td>
    </tr>
    <tr>
        <td>e1e3d0d2</td>
        <td><input type="text"  onkeypress="checkFormatAllNumbers(event,this,e1e3d0d2);" /></td>
        <td>2 decimales y 3 enteros</td>
    </tr>
    <tr>
        <td>e1e4</td>
        <td><input type="text"  onkeypress="checkFormatAllNumbersColor(event,this,e1e4);" /></td>
        <td>4 enteros, con color TEST JP</td>
    </tr>
</table>

JavaScript

var _e0e7d0d1=/^\-?\d{0,7}(\.\d{0,1})?$/;
var e1e7d0d1=/^\d{1,7}(\.\d{0,1})?$/;
var e1e3d0d2=/^\d{1,3}(\.\d{0,2})?$/;
var e1e7=/^\d{1,7}$/;
var e1e4=/^\d{1,4}$/;
var sesionMask=/^([1-9]\d{0,1})$/;
var horaMask=/^([01]\d|2[0-3]):?([0-5]\d)$/;



function checkFormatAllNumbers(e,obj,pattern)
{	
	var tecla = (document.all) ? e.keyCode : e.which;	//IE=KEYCODE  OTROS=WHICH
	
	if (tecla!=0 && tecla!=8){ //COMPROBACION PARA FIREFOX YA QUE COGE CARAC.ESP EN EL EVENTO		
		var pos=$(obj).caret().start;	//HACE FALTA LIBRERIA JQUERY			
		var cadena=obj.value.substring(0,pos)+String.fromCharCode(tecla)+obj.value.substring(pos);

		if(!cadena.match(pattern))
		{	
			if(e.preventDefault){					
			    e.preventDefault();	   //OTROS NAVEGADORES
			}else{					
			    e.returnValue = false;		//PARA IE
			};
        }
	}
}

function checkFormatAllNumbersColor(e,obj,pattern)
{	
	var tecla = (document.all) ? e.keyCode : e.which;
	if (tecla!=0 && tecla!=8){ 
		var pos=$(obj).caret().start;	//HACE FALTA LIBRERIA JQUERY			
		var cadena=obj.value.substring(0,pos)+String.fromCharCode(tecla)+obj.value.substring(pos);

		if(!cadena.match(pattern))
		{	
            $(obj).css("background-color","red");
        }else{
             $(obj).css("background-color","white");
        }
	}
}