Noticias Weblogs Foros Wiki Código

RecorteX

383 usuarios y 230 recortes de código
Usuario

Contraseña
Crear cuenta
asp csharp css fechas fichero Flash html imagenes java javascript linux mysql oracle php sql SQLServer url vbnet xhtml xml
Top Usuarios
fjmp76 (35)
albin (31)
juanjo (29)
josuebasurto (28)
pedrocaro (9)
stanz (8)
AndiXTRM (7)
Joserra (7)
miiglesi (6)
aplyca (5)
Top Etiquetas
php (38)
vbnet (27)
javascript (26)
html (25)
java (22)
sql (16)
csharp (16)
xml (13)
mysql (13)
css (10)
xhtml (7)
imagenes (7)
Flash (7)
linux (6)
asp (6)
fechas (6)
SQLServer (5)
oracle (5)
url (4)
fichero (4)
RecorteX es un repositorio público de código.
Puedes crear tu colección personal de recortes y compartirlos con todo el mundo.
Regístrate y participa.

Una clase para simular (en parte) el objeto My de Visual Basic 2005

Una clase para simular (en parte) el objeto My de Visual Basic 2005

 
// Una clase para simular (en parte) el objeto My de Visual Basic 2005
static class My
{
    public static Properties.Settings Settings
    {
        get
        {
            return Properties.Settings.Default;
        }
    }
}
 

Inserción de alertas en la validación de los formularios

Me gustó que las etiquetas con los errores de validación se crearan en el momento de mostrar estas alertas y que además salieran con una sutil animación.


<p id="pnombre">
  <label id="lnombre">Nombre:</label>
  <input type="text" id="inombre" name="nombre"  />
</p>
...
<p class="btn"><a id="send" href="#">[enviar]</a></p>

$(document).ready(function() {
  $("#send").click(function() {
    var oForm    = document.forms[0];
    var oNombre  = oForm.elements["nombre"];
    var bOk      = true;
    $("p.error").remove();
    if(oNombre.value=="") {
      oNombre.focus();
      $("#pnombre" ).after("<p class='error'>Por favor, indíca tu nombre.</p>");
      bOk = false;
    }
    ...
    $("p.error").slideDown();
    if(bOk) oForm.submit();
    return false;
  });
});

Menu desplegable multinivel

Se trata de un menú totalmente accesible.
Puede tener varios niveles.
Los enlaces a # desplegan un submenu y los enlaces a una página van a ella.


.submenu { display: none; }

<ul id="menu">
   <li><a href="#">opcion 1</a><ul class="submenu">
      <li><a href="opcion.php">opcion 1.1</a></li>
   </ul></li>
   <li><a href="#">opcion 2</a><ul class="submenu">
      <li><a href="opcion.php">opcion 2.1</a></li>
      <li><a href="#">opcion 2.2</a><ul class="submenu">
         <li><a href="opcion.php">opcion 2.2.1</a></li>
         <li><a href="opcion.php">opcion 2.2.2</a></li>
      </ul></li>
   </ul></li>
</ul>

$(document).ready(function () {
    $("#menu a").click(fOption);
});

function fOption() {
    var jThis = $(this);
    var href  = jThis.attr("href");
    if(href.indexOf("#")>-1) {
        $(".submenu").css({ display: "none" });
        jThis.parent().children("ul").css({ display: "block" });
        jThis.parents(".submenu").css({ display: "block" });
        return false;
    }
    return true;
}

Remover declaracion de xml

xml es XmlDocument

 
foreach(XmlNode n in xml.ChildNodes)
{ 
    if (n.NodeType == XmlNodeType.XmlDeclaration)
       n.ParentNode.RemoveChild(n);
}
 

Reset CSS

El siguiente es el Reset CSS de Eric Meyer:

 
/* v1.0 | 20080212 */
 
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
 
/* remember to define focus styles! */
:focus {
	outline: 0;
}
 
/* remember to highlight inserts somehow! */
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
 
/* tables still need 'cellspacing="0"' in the markup */
table {
	border-collapse: collapse;
	border-spacing: 0;
}
 

WMS / SAP Referencia Idoc

WMS / SAP Referencia Idoc


-- 76027871
SELECT *
FROM SAP_EDIDCO
where docnum = :DOC_NUM;

select *
from sap_ediddo
where docnum = :DOC_NUM;

Coleccion de datos en net

Esto se usa para hacer una coleccion de un mismo objeto

 
  Public Class ProcesosBase
    Inherits CollectionBase
 
    Public Sub New()
    End Sub
 
    Public Function Add(ByVal value As CLASE_A_USAR) As Integer
        Dim res As Integer
        res = List.Add(value)
        Return res
    End Function
 
End Class
 

Ejemplo sencillo Ajax - Invocación y recogida de datos

Con este ejemplo se puede hacer una invocación a funciones que estén en otro fichero utilizando Ajax. En este ejemplo se asocia al evento onBlur de un campo de texto la llamada Ajax dentro de un javascript.
De esta forma el código que esta en cliente abre un canal al servidor y ejecuta el código que haya en el y lo devuelve


//Este es el código que va en cliente
<html>
<head>
<title>Prueba tarifas AJAX</title>
</head>
<body>
CampoTexto<input type="text" id="texto" onblur="calcula()" value="2007"><br/>
</html>
 
<script>
//Este es el código que va en cliente
 
function calcula()
{
// Obtener la instancia del objeto XMLHttpRequest
	if (window.XMLHttpRequest) { // Mozilla, Safari, ...
	http_request = new XMLHttpRequest();
	}
	else if (window.ActiveXObject) { // Internet Explorer
	http_request = new ActiveXObject("Microsoft.XMLHTTP");
	}
	// Preparar la funcion de respuesta
	http_request.onreadystatechange = muestraContenido;
 
	//////////////////////////////////////////////////////////////////////
	// Realizar peticion HTTP/////////////////////////////////////////////
	
	var url = '/public/api/utilTarifas.aspx?cod='+document.getElementById('texto').value;
	
	//////////////////////////////////////////////////////////////////////
	http_request.open('GET', url, true);
	http_request.send(null);
	
function muestraContenido()
	{	
	if(http_request.readyState == 4)
		{
		if (http_request.status == 200) 
			{				
				var documento=http_request.responseText;
				//////////////////////////////////////////////////////////////////////
				// TRATAMOS LA RESPUESTA/////////////////////////////////////////////				
				
				if (documento !='Error')				
				{				
					alert(documento );
				}
				//////////////////////////////////////////////////////////////////////
			}	
		}	
	}
}
</script>
 

//Este puede ser el codigo invocado en otra página, en este caso con extensión aspx y que va en el servidor

 
<%@ Page Language="c#"%>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb"%>
<%@ import Namespace="System.Web" %>
<%@ import Namespace="System" %>
<%@ import Namespace="System.Net" %>
 
 
<%
try{
String codigo= Request.QueryString["cod"];
String tarifas="";
if(codigo='2007')
  tarifas="1,2,3,4,5";
else 
 tarifas="6,7,8,9,10";
 
 
//Ejecutas tu consulta de BBDD y la devuelves en el string 
//Este ejemplo sencillo devuelve una serie de valores
 
Response.Write(tarifas);
}
catch(Exception e)
{
//Response.Write(e);
Response.Write("Error");
}
%>
 

Validaciones Javascript DNI, NIE, CIF y CUENTAS BANCARIAS



		<label>DNI/NIF </label>
		<input type="text" id="dni" onblur="validaNif(this)"></input>
		<br><br>
		<label>CIF </label>
		<input type="text" id="cif" onblur="validaCif(this)"></input>
		<br><br>
		<label>NIE </label>
		<input type="text" id="nie" onblur="validaNie(this)"></input>		
		<br><br>
						
		<br><br>
		<label>DNI/NIF </label>
		<input type="text" id="dni2" onblur="validaNif2('dni2','ldni')"></input>
		&nbsp;
		<input type="text" id="ldni" size="1" onblur="validaNif2('dni2','ldni')"></input>
		<br><br>
		<label>CIF </label>
		<input type="text" id="cif2" onblur="validaCif2('cif2','lcif')"></input>
		&nbsp;
		<input type="text" id="lcif" size="1" onblur="validaCif2('cif2','lcif')"></input>
		<br><br>
		<label>NIE </label>
		<input type="text" id="nie2" onblur="validaNie2('nie2','lnie')"></input>
		&nbsp;
		<input type="text" id="lnie" size="1" onblur="validaNie2('nie2','lnie')"></input>
		<br><br>

    <TABLE BORDER=0>
    <TR>
      <TD>Banco</TD>
      <TD>Sucursal</TD>
      <TD>DC</TD>
      <TD>Cuenta</TD>
    </TR>
    <TR>
      <TD><INPUT TYPE="text" NAME="banco" id="banco" MAXLENGTH="4" SIZE="4" onblur="validar('banco','sucursal','dc','cuenta')"></TD>
      <TD><INPUT TYPE="text" NAME="sucursal" id="sucursal" MAXLENGTH="4" SIZE="4" onblur="validar('banco','sucursal','dc','cuenta')"></TD>
      <TD><INPUT TYPE="text" NAME="dc" id="dc" MAXLENGTH="2" SIZE="2" onblur="validar('banco','sucursal','dc','cuenta')"></TD>
      <TD><INPUT TYPE="text" NAME="cuenta" id="cuenta" MAXLENGTH="10" SIZE="10" onblur="validar('banco','sucursal','dc','cuenta')"></TD>
    </TR>
    </TABLE>
  </FORM>
 
 
//Funcion volver
function retornar(id)
{
	control=document.getElementById(id);
	document.getElementById(id).value='';	
	//document.getElementById(id).select();		
	//document.getElementById(id).focus();
	return;
	
}
 
 
//Funciones auxiliares
function IsNumeric(cadena)
{
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;
 
 
   for (i = 0; i < cadena.length && IsNumber == true; i++) 
      { 
      Char = cadena.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }
 
   
// check to see if input is alphabetic
function isAlphabetic(cadena)
{
if (cadena.match(/^[a-zA-Z]+$/))
{
return true;
}
else
{
return false;
} 
}
   
 
 
 
//Funciones validadoras
 
function validaNif(control) 
{	
  if (control.value=="")
	return;
  var dni=control.value;    
  var numero = dni.substr(0,dni.length-1);
  var let = dni.substr(dni.length-1,1);
  let=let.toUpperCase();
  numero = numero % 23;
  var letra='TRWAGMYFPDXBNJZSQVHLCKET';
  letra=letra.substring(numero,numero+1);    
  //alert(letra);
  if (letra!=let)   
  {
    mensaje("dni","es");
    retornar(control.id);		
  }
}
 
 
function validaCif(control)
{ 
  if (control.value=="")
  {
	return;
  }
        var texto=control.value;
        var pares = 0; 
        var impares = 0; 
        var suma; 
        var ultima; 
        var unumero; 
        var uletra = new Array("J", "A", "B", "C", "D", "E", "F", "G", "H", "I"); 
        var xxx; 
         
        texto = texto.toUpperCase(); 
         
        var regular = new RegExp(/^[ABCDEFGHKLMNPQS]\d\d\d\d\d\d\d[0-9,A-J]$/g); 
         if (!regular.exec(texto)) 
			{
				mensaje("cif","es");
				retornar(control.id);		
			}
		 
              
         ultima = texto.substr(8,1); 
 
         for (var cont = 1 ; cont < 7 ; cont ++){ 
             xxx = (2 * parseInt(texto.substr(cont++,1))).toString() + "0"; 
             impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1)); 
             pares += parseInt(texto.substr(cont,1)); 
         } 
         xxx = (2 * parseInt(texto.substr(cont,1))).toString() + "0"; 
         impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1)); 
          
         suma = (pares + impares).toString(); 
         unumero = parseInt(suma.substr(suma.length - 1, 1)); 
         unumero = (10 - unumero).toString(); 
         if(unumero == 10) unumero = 0; 
          
         if ((ultima == unumero) || (ultima == uletra[unumero])) 
             return true; 
         else 
             {
				mensaje("cif","es");
				retornar(control.id);		
			 }
 
    } 
 
	
function validaNie(control) 
{	
  if (control.value=="")
	return;	
 
	var a=control;		
	var temp=a.value.toUpperCase();
	var cadenadni="TRWAGMYFPDXBNJZSQVHLCKET";
	var v1 = new Array(0,2,4,6,8,1,3,5,7,9);
	var posicion=0;
	var letra=" ";
	
	//Residente en España	
	if (a.value.length==9)
	{
		if (temp.substr(0,1)=="X")
		{
			var temp1=temp.substr(1,7);
 
			posicion = temp1 % 23; /*Resto de la division entre 23 es la posicion en la cadena*/
			letra = cadenadni.substring(posicion,posicion+1);
			if (!/^[A-Za-z0-9]{9}$/.test(temp))
			{ 
				mensaje("nie","es");
				retornar(control.id);	
			}
			else
			{ 
				//Tiene los 9 dígitos, comprobamos si la letra esta bien
				var temp1=temp.substr(1,7);
				posicion = temp1 % 23; /*Resto de la division entre 23 es la posicion en la cadena*/
				letra = cadenadni.charAt(posicion);
				var letranie=temp.charAt(8);
				if (letra != letranie){			
					mensaje("nie","es");
					retornar(control.id);			
				}				
			}
		}
		else
		{
			mensaje("nie","es");
			retornar(control.id);			
		}		
	}else if (a.value.length==14){//14 caracteres, los 2 primeros letras
		var temp1=temp.substr(0,2);
		if (isAlphabetic(temp1)!=true)	
			{
			mensaje("nie","es");
			retornar(control.id);	
			}
	}
	else
	{
			mensaje("nie","es");
			retornar(control.id);			
 
	}
	
}
 
 
 
 
 
  
	
 
function mensaje(msg,lang)
{
	if (lang=="es")
	{
		if(msg=="dni")	
			{
			alert("DNI no valido");
			}
		else if (msg=="cif")
					{
			alert("CIF no valido");
			}
		else if (msg=="nie")
					{
			alert("NIE no valido");
			}			
		else if (msg=="dc")
					{
			alert("El digito de control no es correcto");
			}						
		else if (msg=="completo")
					{
			alert("Rellene todos los datos de la cuenta");
			}									
		else if (msg=="formato")
					{
			alert("Formato incorrecto");
			}									
		else
			alert("Formato no valido");
	}
	
}
 
 
 
function validar(ibanco,isucursal,idc,icuenta) 
  {  
	var banco=(document.getElementById(ibanco).value);
	var sucursal=(document.getElementById(isucursal).value);
	var dc=(document.getElementById(idc).value);
	var cuenta=(document.getElementById(icuenta).value);	  
  
		if (banco == ""  || sucursal == "" || dc == "" || cuenta == ""){
		  return;
		}
		else 
		{
			if (banco.length != 4 || sucursal.length != 4 ||
				dc.length != 2 || cuenta.length != 10)
				{
				mensaje("completo","es");
				retornar(idc);							
			}
			else {
			  if (!numerico(banco) || !numerico(sucursal) ||
				  !numerico(dc) || !numerico(cuenta)){
				mensaje("formato","es");
				retornar(ibanco);
				retornar(isucursal);					  					  	
				retornar(idc);
				retornar(icuenta);
				  	}				
			  else {
			  	//alert(obtenerDigito("00" + banco + sucursal));
			  	//alert(obtenerDigito(cuenta));
				if (!(obtenerDigito("00" + banco + sucursal) ==
					  parseInt(dc.charAt(0))) || 
					!(obtenerDigito(cuenta) ==
					  parseInt(dc.charAt(1))))
					  {
					mensaje("dc","es");
					retornar(idc);					  					  	
				  	} 
				else
				  return;
			  }
			}
		}
}
 
function numerico(valor){
  cad = valor.toString();
  for (var i=0; i<cad.length; i++) {
    var caracter = cad.charAt(i);
	if (caracter<"0" || caracter>"9")
	  return false;
  }
  return true;
}
 
function obtenerDigito(valor){
  valores = new Array(1, 2, 4, 8, 5, 10, 9, 7, 3, 6);
  control = 0;
  for (i=0; i<=9; i++)
    control += parseInt(valor.charAt(i)) * valores[i];
  control = 11 - (control % 11);
  if (control == 11) control = 0;
  else if (control == 10) control = 1;
  return control;
}
 
 
function validaNif2(c1,c2)
{	
	var campo1=(document.getElementById(c1).value);
	var campo2=(document.getElementById(c2).value);	  
  
	if (campo1 == ""  || campo2 == ""){
	  return;
	}else{		
		var dni=campo1+campo2;  
		var numero = dni.substr(0,dni.length-1);
		var let = dni.substr(dni.length-1,1);
		numero = numero % 23;
		var letra='TRWAGMYFPDXBNJZSQVHLCKET';
		letra=letra.substring(numero,numero+1);  
		if (letra!=let)   
		{
			mensaje("dni","es");	
			retornar(c2);			
		}
	}
}
 
function validaCif2(c1,c2)
{	
	var campo1=(document.getElementById(c1).value);
	var campo2=(document.getElementById(c2).value);	  
  
	if (campo1 == ""  || campo2 == ""){
	  return;
	}else{
		//alert("Cif "+campo1+" "+campo2);
		
		var texto=campo1+campo2; 
        var pares = 0; 
        var impares = 0; 
        var suma; 
        var ultima; 
        var unumero; 
        var uletra = new Array("J", "A", "B", "C", "D", "E", "F", "G", "H", "I"); 
        var xxx; 
         
        texto = texto.toUpperCase(); 
         
        var regular = new RegExp(/^[ABCDEFGHKLMNPQS]\d\d\d\d\d\d\d[0-9,A-J]$/g); 
         if (!regular.exec(texto)) 
			{
				mensaje("cif","es");
				retornar(control.id);		
			}
		 
              
         ultima = texto.substr(8,1); 
 
         for (var cont = 1 ; cont < 7 ; cont ++){ 
             xxx = (2 * parseInt(texto.substr(cont++,1))).toString() + "0"; 
             impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1)); 
             pares += parseInt(texto.substr(cont,1)); 
         } 
         xxx = (2 * parseInt(texto.substr(cont,1))).toString() + "0"; 
         impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1)); 
          
         suma = (pares + impares).toString(); 
         unumero = parseInt(suma.substr(suma.length - 1, 1)); 
         unumero = (10 - unumero).toString(); 
         if(unumero == 10) unumero = 0; 
          
         if ((ultima == unumero) || (ultima == uletra[unumero])) 
             return true; 
         else 
             {
				mensaje("cif","es");
				retornar(c2);		
			 }
 
    } 		
		
		
	
}
 
function validaNie2(c1,c2)
{	
	var campo1=(document.getElementById(c1).value);
	var campo2=(document.getElementById(c2).value);	  
  
	if (campo1 == ""  || campo2 == ""){
	  return;
	}else{
		//alert("Nie "+campo1+" "+campo2);		
 
			var a=campo1+campo2; 		
			var temp=a.toUpperCase();
			var cadenadni="TRWAGMYFPDXBNJZSQVHLCKET";
			var v1 = new Array(0,2,4,6,8,1,3,5,7,9);
			var posicion=0;
			var letra=" ";
 
			//Residente en España	
			if (a.length==9)
			{
				if (temp.substr(0,1)=="X")
				{
					var temp1=temp.substr(1,7);
 
					posicion = temp1 % 23; /*Resto de la division entre 23 es la posicion en la cadena*/
					letra = cadenadni.substring(posicion,posicion+1);
					if (!/^[A-Za-z0-9]{9}$/.test(temp))
					{ 
						mensaje("nie","es");
						retornar(c2);	
					}
					else
					{ 
						//Tiene los 9 dígitos, comprobamos si la letra esta bien
						var temp1=temp.substr(1,7);
						posicion = temp1 % 23; /*Resto de la division entre 23 es la posicion en la cadena*/
						letra = cadenadni.charAt(posicion);
						var letranie=temp.charAt(8);
						if (letra != letranie){			
							mensaje("nie","es");
							retornar(c2);			
						}				
					}
				}
				else
				{
					mensaje("nie","es");
					retornar(c2);		
				}		
			}else if (a.length==14){//14 caracteres, los 2 primeros letras
				var temp1=temp.substr(0,2);
				if (isAlphabetic(temp1)!=true)	
					{
					mensaje("nie","es");
					retornar(c2);	
					}
			}
			else
			{
					mensaje("nie","es");
					retornar(c2);		
 
			}
 
	}
}
 

Validar fecha formato dd/mm/aaaa incluido si el año es bisiesto

<p>Ejemplo de validación de fechas con formato <b>dd/mm/aaaa</b></p>

<small>Fecha:</small>
<br>
<input type=“text” name=“fecha” size=“15” onblur=“testFecha(this)”>

<script>
function testFecha(control){ if (control.value.length==0) return;

if (!validaFecha(control.value)) { alert(“Fecha Invalida”); control.focus(); }else{ alert(“ok”); }
}

function validaFecha(Cadena){ var Fecha= new String(Cadena) var RealFecha= new Date() var Ano= new String(Fecha.substring(Fecha.lastIndexOf(”/”)+1,Fecha.length)) var Mes= new String(Fecha.substring(Fecha.indexOf(”/”)+1,Fecha.lastIndexOf(”/”))) var Dia= new String(Fecha.substring(0,Fecha.indexOf(”/”)))

// Valido el año if (isNaN(Ano) || Ano.length<4 || parseFloat(Ano)<1900){ return false; } // Valido el Mes if (isNaN(Mes) || parseFloat(Mes)<1 || parseFloat(Mes)>12){ return false; } // Valido el Dia if (isNaN(Dia) || parseInt(Dia, 10)<1 || parseInt(Dia, 10)>31){ return false; } if (Mes==4 || Mes==6 || Mes==9 || Mes==11) { if (Dia>30) { return false; } } if (Mes==2 && Dia > 28 ) { bisiesto=((Ano % 4 == 0) && ((Ano % 100 != 0) || (Ano % 400 == 0))); if (bisiesto && Dia<=29) return true; else return false; } return true; }
info@recortex.com - Proyecto: Juanjo Navarro, 2006 - Diseño: Albin - Información legal y técnica