// JavaScript Document - cadenas-texto.js

//--------------------------------------------------------------------------------------------------

function validarTexto( texto )
{
	// Comprueba que el texto introducido no contenga números, devolviendo siendo así true y false en
	// caso contrario.
	//
	// parametro texto	: Requerido. Cualquier expresión de cadena válida.
	
	var i=0;
	var caract; 
	for(i=0;i<texto.length;i++){ 
		caract=texto.substring(i, i+1); 
		if (caract>="0" && caract<="9"){
			return false;
		}
	}
	return true;			
}

//--------------------------------------------------------------------------------------------------

function validarTfno(texto)
{ 
	// Comprueba que teléfono introducido sólo contenga números, espacios o el caracter '-'. Para ello
	// usa el metodo test de expresion regular.
	//
	// parametro texto	: Requerido. Cualquier expresión de cadena válida con sólo numeros, espacios ó '-'
	
	if(/^([0-9\+\s\+\-])+$/.test(texto)) {
		return true;
	}else{
		return false; 
	}
}

//--------------------------------------------------------------------------------------------------

function validarEmail(texto) 
{
	// Comprueba que el e-mail intriducido se compone de 'nombre_usuario + @ + servidor + dominio'. Para 
	// ello usa el metodo test de expresion regular. Explicacion de la expresion regular ... 
	// nombre_usuario y servidor ->  Debe empezar por letra o número. Al menos tiene una letra o número. 
	//								 Para asegurarnos de que la letra o número aparece al menos una vez 
	//								 utilizaremos el modificador +. Puede contener puntos y guiones 
	//                               además de las letras y números. Esta combinación podrá aparecer, es 
	//								 por ello que se utilizará el modficiador * (cero o varias veces).
	//								 Su expresión regular, para ambos casos, será \w+([\.-]?\w+)*
	// dominio                   ->  Irá al final, detrás de un punto. Podrá tener dos (.es, .fr, .it,...) 
	//								 o tres letras (.com, .net, .org,..). Además puede tener varios 
	//								 dominios seguidos (.com.ar,.com.uk.), es por ello que se deberá usar 
	//								 el modificador + ya que el dominio podrá aparecer varias veces. 
	//								 Su expresión regular será como sigue: (\.\w{2,3})+
	//
	// parametro texto	: Requerido. Cualquier expresión de cadena de correo válida.
	
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(texto))
	{
		return true;
 	}else{
    	return false;
 	}	
} 

//--------------------------------------------------------------------------------------------------

function replaceCadena(texto,s1,s2){
	// Sustitucion de cadenas de textos. Reemplazaríamos sobre el texto las cadenas s1 que encontrásemos por las cadenas s2.
	//	
	// parametro texto	: Requerido. Expresión de cadena que contiene la subcadena que se va a reemplazar.  
	// parametro s1		: Requerido. Subcadena que se busca.
	// parametro s2		: Requerido. Subcadena de reemplazo.
	
	return texto.split(s1).join(s2);
}

//--------------------------------------------------------------------------------------------------

function Left(str, n){
	// Extract the left part of a string.
	//	
	// parametro str	: Requerido. Cadena de la que se devuelven los caracteres que están más a la izquierda.   
	// parametro n		: Requerido. Longitud. Cuántos caracteres se van a devolver. 	
	
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}

//--------------------------------------------------------------------------------------------------

function Right(str, n){
	// Extract the right part of a string.
	//	
	// parametro str	: Requerido. Cadena de la que se devuelven los caracteres que están más a la derecha.   
	// parametro n		: Requerido. Longitud. Cuántos caracteres se van a devolver. 
	
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}
