Ver Mensaje Individual
  #5 (permalink)  
Antiguo 16/12/2005, 04:38
Boku
 
Fecha de Ingreso: noviembre-2005
Mensajes: 42
Antigüedad: 20 años, 11 meses
Puntos: 0
Aqui te paso una función en la que puedes controlar el rango de caracteres que admite un campo, incluso da la posibilidad de añadir caracteres a los que hay definidos. Se trata de una función booleana que devuelve true si lo que hay en un campo es un valor permitido y false en caso contrario.

Código PHP:
function validaCampoTexto(campo, caract_extra, tipoCampo, nulo) {
                if (
nulo == 1 && campo.value == "") {
                 
alert("ERROR: No puede dejar este campo vacio");
                 return 
false;
                }
                var 
cad1;
                var 
cad2;
                var 
ubicacion;
                var 
enter = "\n";
                switch(
tipoCampo){
                    case 
1:    // Campo de texto
                        
var caracteres = "abcdefghijklmnopqrstuvwxyzñ1234567890 ABCDEFGHIJKLMNOPQRSTUVWXYZÑ" + String.fromCharCode(13) + enter + caract_extra;
                        break;
                    case 
2:    // Campo numerico
                        
var caracteres = "1234567890" + caract_extra;
                        break;
                }
                
                var 
continuar = true;
                
                var 
contador = 0
                
for (var i=0; i < campo.value.length; i++) {
                 
ubicacion = campo.value.substring(i, i + 1);
                 if (
caracteres.indexOf(ubicacion) != -1) {
                   
contador++;
                 } else {
                   
alert("ERROR: No se acepta el caracter '" + ubicacion + "'.");
                   
cad1 = campo.value.substring(0, campo.value.indexOf(ubicacion));
                   
cad2 = campo.value.substring(campo.value.indexOf(ubicacion)+1);
                   
campo.value = cad1 + cad2;
                    
campo.focus();
                   
continuar = false;
                 }
                }
                return 
continuar;
            } 
- En el parametro "campo" le pasamos el campo que tenemos que validar.
- "caract_extra" contiene los caracteres adicionales que queremos añadir a los que hemos definido dentro de la función como posibles dentro del campo.
- "tipoCampo" es un valor numérico que nos dice si es numérico (2) o de texto (1), con el finde definir los caracteres válidos para cada uno de ellos.
- "nulo" indica si se puede dejar el campo vacío (el valor 1 indica que es un campo obligatorio, cualquier otro valor permite dejar vacio el campo)

Espero que te sirva