Buenas PHPeros.
 
Gracias por responder tan pronto,, he intentado usar el código que me suministras en la web pero no me funciona o no se hacerlo funcionar, he seguido buscando otros códigos. 
Encontré este pero tampoco válida correctamente en JScript. 
(COPIAR EN UN NUEVO DOC HTML PARA PROBAR)    
Código Javascript
:
Ver original- <form action='' method='POST' id='datos' name='datos'> 
- <div id='input_dato'> 
- <label for='dato'>Dato Requerido:</label> 
- <input type='text' name='dato' id='dato' list='nombres' required oninput='verificar(this)'> 
- <input type='submit' name='boton' id='boton'> 
- <datalist id='nombres'> 
-   
- <option value='LIGHT' class='nombre'/> 
- <option value='VEGETA' class='nombre'/> 
- <option value='IKKI' class='nombre'/> 
- <option value='EDEN' class='nombre'/> 
-   
- </datalist> 
- </div> 
- </form> 
- <script> 
-     //Esta función se encargará de realizar la validación de los datos 
-     function verificar(input){ 
- //Primero guardamos en una variable temporal el valor del input que se desea validar 
-      var valor=input.value; 
- //Luego se verifica si el usuario intenta enviar el campo vacío 
-      if(valor.length==0){ 
- //Si el campo está vacío modificamos el mensaje que deseamos que muestre el navegador 
- //Este paso es opcional 
-      input.setCustomValidity('Debe ingresar un nombre'); 
-      }else{ 
- //Si el campo no está vacío, procedemos a validar la información 
- //Guardamos el valor de todos los datos presentes en el datalist en un arreglo temporal 
- var cis=document.querySelectorAll('#input_datos .nombre'); 
- //Leemos cuantos elementos incluye el arreglo cis 
-      var n=cis.length; 
- //Esta es una variable temporal que se usará en el análisis del arreglo cis 
-      var valorT; 
- //Es una variable bandera que indicará si el datos suministrado está en la lista 
-      var bandera=0; 
- //Recorremos cis 
-      for(var i=0;i<n;i++){ 
- //Guardamos el iésimo valor de cis en la variable temporal valorT 
-      valorT=cis[i].value; 
-      //Comparamos el valor suministrado con valorT 
-      if(valor==valorT){ 
- //Si son iguales el valor de la bandera cambia a uno 
-      bandera=1; 
- //Interrumpimos el ciclo 
- break; 
-      }       
-   
-      } 
- //Si la bandera es igual a uno el dato es válido y se podrá usar para cualquier función específica 
-      if(bandera==1){ 
- //Con esta línea eliminamos la validación de este input 
-      input.setCustomValidity(''); 
-      }else{ 
- //Si no se encontró el valor podemos "lanzar" un mensaje indicando el error 
-      input.setCustomValidity(valor+' no existe en la lista sugerida'); 
-      }       
-   
-      } 
-       
-     } 
-     </script> 
Cómo puedo hacer funcionar uno de los dos códigos, esto de los datalist jeje, lo tenía un poco perdido la verdad.  
Gracias saludos