 // txtAdmissable pode ser da forma A-Za-z0-9_ ,ou seja os caracteres admissiveis...
  
  function test_wellForm(fieldToAnalise, txtAdmissable, indInf, indSup, errorMsg){
	var re, found, adm;
    
	if (fieldToAnalise.value.length < indInf || fieldToAnalise.value.length > indSup)
	{
		alert(errorMsg + "\nTem que ter entre " + indInf + " e " + indSup + " caracteres");
		fieldToAnalise.select();
		return false;
	}

	adm = "[" + txtAdmissable + "]";
	re = "/"+ adm + "/g";
		
	found = fieldToAnalise.value.match(eval(re));
	
	if (found == null || found.length != fieldToAnalise.value.length){
	  alert(errorMsg + "\nCaracteres Inválidos...");
	  fieldToAnalise.select();
	  return false;
	}  

	 return true; 
  }
  
  //Para validar independentemente se os caracteres são em maiúsculas ou minusculas
   // txtAdmissable pode ser da forma A-Za-z0-9_ ,ou seja os caracteres admissiveis...
  
  function testall_wellForm(fieldToAnalise, txtAdmissable, indInf, indSup, errorMsg){
	var re, found, adm;
    
	/*if (fieldToAnalise.value.length < indInf || fieldToAnalise.value.length > indSup)
	{
		alert(errorMsg + "\nTem que ter entre " + indInf + " e " + indSup + " caracteres ...");
		fieldToAnalise.select();
		return false;
	}*/

	adm = "[" + txtAdmissable + "]";
	re = "/"+ adm + "/g";
		
	found = fieldToAnalise.value.match(eval(re));
	
	if (found == null || found.length != fieldToAnalise.value.length){
	  alert(errorMsg + "\nCaracteres Inválidos...");
	  fieldToAnalise.select();
	  return false;
	}  

	 return true; 
  }
  
//Só para validar se os caracteres são números
function number_wellForm(fieldToAnalise, txtAdmissable, indInf, indSup, errorMsg){
	var re, found, adm;
    
	/*if (fieldToAnalise.value.length < indInf || fieldToAnalise.value.length > indSup)
	{
		alert(errorMsg +"\nnúmero de Caracteres insuficientes ...");
		fieldToAnalise.select();
		return false;
	}*/

	adm = "[" + txtAdmissable + "]";
	re = "/"+ adm + "/g";
		
	found = fieldToAnalise.value.match(eval(re));
	
	if (found == null || found.length != fieldToAnalise.value.length){
	  alert(errorMsg + "\nCaracteres Invalidos...");
	  fieldToAnalise.select();
	  return false;
	}  

	 return true; 
  }

 // Enquanto na funcao anterior so ligava a conj. de caracteres,
 //nesta irá ligar a expressoes q NÃO interessa q aparecam...
 
 //As expressoes são da forma "(nuno)|(joaquinito)" ==> tem q ter o pipe 
 //a separar expressoes diferentes...
  
  function test_wellForm_exp(txtToAnalise, expNotAdmissable, indInf, indSup, errorMsg){
	var re, found;
    
	/*if (txtToAnalise.length < indInf || txtToAnalise.length > indSup)
	{
		alert(errorMsg + "\nTem que ter entre " + indInf + " e " + indSup + " caracteres...");
		return false;
	}*/

	re = "/"+ expNotAdmissable + "/g";
		
	found = txtToAnalise.match(eval(re));
	
	if (found != null) {
	  alert(errorMsg + "\nExpressoes invalidas no campo..." );
	  return false;
	}  

	 return true; 
  }
