Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/07/2008, 19:07
guybrush78
 
Fecha de Ingreso: febrero-2005
Ubicación: Cádiz
Mensajes: 50
Antigüedad: 19 años, 11 meses
Puntos: 2
De acuerdo Respuesta: Validar cadenas como numeros en formulario

Uyyy que maravilla he encontradooooo...

Funciones para prevalidaciones de formularios, capturado de http://www.tejedoresdelweb.com/307/article-1066.html#h2_3

ahí va el tocho de codigo para copiar y pegar, magnifico y muy comprensible

Código PHP:
// ---------------------------------------------------------------------- //
//           FormCheq.js (c) ChaTo 1998,1999 [www.chato.cl]
//                           Basado en:
//           FormChek.js (c) Eric Krock (c) 1997 Netscape              
// ---------------------------------------------------------------------- //
// 18 Feb 97 creado por Eric Krock (c) 1997
//   Netscape Communications Corporation
// 18 Ago 98 modificado por Carlos Castillo (c) 1998 ChaTo
//   Los principales cambios son: esta version es simplificada, para
//   propositos de ensennanza y validacion basica de formularios, y esta
//   adaptada para recibir caracteres del alfabeto espannol (acentos, etc.)
// 20 Oct 99 modificado por Carlos Castillo (c) 1999 ChaTo
//   Se agrega la funcion isNice que ayuda a evitar comillas simples
//   o dobles que causan problemas con muchos CGIs
// 
// ---------------------------------------------------------------------- //
//                             RESUMEN                                    //
// ---------------------------------------------------------------------- //
// 
// El objetivo de las siguientes funciones en JavaScript es
// validar los ingresos del usuario en un formulario antes
// de que estos datos vayan al servidor.
//
// Varias de ellas toman un parametro opcional E.O.K (eok) (emptyOK
// - true si se acepta que el valor este vacio, false si no
// se acepta). El valor por omision es el que indique la
// variable global defaultEmptyOK definida mas abajo.
//
// ---------------------------------------------------------------------- //
//                      SINTAXIS DE LAS FUNCIONES                         //
// ---------------------------------------------------------------------- //
//
// FUNCION PARA CHEQUEAR UN CAMPO DE INGRESO:
//
// checkField (theField, theFunction, [, s] [,eok])
//        verifica que el campo de ingreso theField cumpla con la
//        condicion indicada en la funcion theFunction (que puede ser
//        una de las descritas en "FUNCIONES DE VALIDACION" o cualquier
//        otra provista por el usuario). En caso contrario despliega el
//        string "s" (opcional, hay mensajes por default para las
//        funciones de validacion provistas aqui).
//
// FUNCIONES DE VALIDACION:
//
// isInteger (s [,eok])                s representa un entero
// isNumber (s [,eok])                 s es entero o tiene punto decimal
// isAlphabetic (s [,eok])             s tiene solo letras
// isAlphanumeric (s [,eok])           s tiene solo letras y/o numeros
// isPhoneNumber (s [,eok])            s tiene solo numeros, (,),-
// isEmail (s [,eok])                  s es una direccion de e-mail
//
// FUNCIONES INTERNAS:
//
// isWhitespace (s)                    s es vacio o solo son espacios
// isLetter (c)                        c es una letra
// isDigit (c)                         c es un digito
// isLetterOrDigit (c)                 c es letra o digito
//
// FUNCIONES PARA REFORMATEAR DATOS:
//
// stripCharsInBag (s, bag)            quita de s los caracteres en bag
// stripCharsNotInBag (s, bag)         quita de s los caracteres NO en bag
// stripWhitespace (s)                 quita el espacio dentro de s
// stripInitialWhitespace (s)          quita el espacio al principio de s
//
// FUNCIONES PARA PREGUNTARLE AL USUARIO:
//
// statBar (s)                         pone s en la barra de estado
// warnEmpty (theField, s)             indica que theField esta vacio
// warnInvalid (theField, s)           indica que theField es invalido
//
// ---------------------------------------------------------------------- //
//                                VARIABLES                               //
// ---------------------------------------------------------------------- //

// Esta variable indica si está bien dejar las casillas
// en blanco como regla general
var defaultEmptyOK false

// Esta variable indica si se debe verificar la presencia de comillas
// u otros símbolos extraños en un campo, por omisión no, porque
// siempre crea problemas con las bases de datos o programas CGI
var checkNiceness true;

// listas de caracteres
var digits "0123456789";
var 
lowercaseLetters "abcdefghijklmnopqrstuvwxyzáéíóúñü"
var uppercaseLetters "ABCDEFGHIJKLMNOPQRSTUVWXYZÁÉÍÓÚÑ"
var whitespace " \t\n\r";

// caracteres admitidos en nos de telefono
var phoneChars "()-+ ";

// ---------------------------------------------------------------------- //
//                     TEXTOS PARA LOS MENSAJES                           //
// ---------------------------------------------------------------------- //

// m abrevia "missing" (faltante)
var mMessage "Error: no puede dejar este espacio vacio"

// p abrevia "prompt"
var pPrompt "Error: ";
var 
pAlphanumeric "ingrese un texto que contenga solo letras y/o numeros";
var 
pAlphabetic   "ingrese un texto que contenga solo letras";
var 
pInteger "ingrese un numero entero";
var 
pNumber "ingrese un numero";
var 
pPhoneNumber "ingrese un número de teléfono";
var 
pEmail "ingrese una dirección de correo electrónico válida";
var 
pName "ingrese un texto que contenga solo letras, numeros o espacios";
var 
pNice "no puede utilizar comillas aqui";

// ---------------------------------------------------------------------- //
//                FUNCIONES PARA MANEJO DE ARREGLOS                       //
// ---------------------------------------------------------------------- //

// JavaScript 1.0 (Netscape 2.0) no tenia un constructor para arreglos,
// asi que ellos tenian que ser hechos a mano. Desde JavaScript 1.1 
// (Netscape 3.0) en adelante, las funciones de manejo de arreglos no
// son necesarias.

function makeArray(n) {
//*** BUG: If I put this line in, I get two error messages:
//(1) Window.length can't be set by assignment
//(2) daysInMonth has no property indexed by 4
//If I leave it out, the code works fine.
//   this.length = n;
   
for (var 1<= ni++) {
      
this[i] = 0
   

   return 
this
}

// ---------------------------------------------------------------------- //
//                  CODIGO PARA FUNCIONES BASICAS                         //
// ---------------------------------------------------------------------- //


// s es vacio
function isEmpty(s)
{   return ((
== null) || (s.length == 0))
}

// s es vacio o solo caracteres de espacio
function isWhitespace (s)
{   var 
i;
    if (
isEmpty(s)) return true;
    for (
0s.lengthi++)
    {   
        var 
s.charAt(i);
        
// si el caracter en que estoy no aparece en whitespace,
        // entonces retornar falso
        
if (whitespace.indexOf(c) == -1) return false;
    }
    return 
true;
}

// Quita todos los caracteres que que estan en "bag" del string "s" s.
function stripCharsInBag (sbag)
{   var 
i;
    var 
returnString "";

    
// Buscar por el string, si el caracter no esta en "bag", 
    // agregarlo a returnString
    
    
for (0s.lengthi++)
    {   var 
s.charAt(i);
        if (
bag.indexOf(c) == -1returnString += c;
    }

    return 
returnString;
}

// Lo contrario, quitar todos los caracteres que no estan en "bag" de "s"
function stripCharsNotInBag (sbag)
{   var 
i;
    var 
returnString "";
    for (
0s.lengthi++)
    {   
        var 
s.charAt(i);
        if (
bag.indexOf(c) != -1returnString += c;
    }

    return 
returnString;
}

// Quitar todos los espacios en blanco de un string
function stripWhitespace (s)
{   return 
stripCharsInBag (swhitespace)
}

// La rutina siguiente es para cubrir un bug en Netscape
// 2.0.2 - seria mejor usar indexOf, pero si se hace
// asi stripInitialWhitespace() no funcionaria

function charInString (cs)
{   for (
0s.lengthi++)
    {   if (
s.charAt(i) == c) return true;
    }
    return 
false
}

// Quita todos los espacios que antecedan al string
function stripInitialWhitespace (s)
{   var 
0;
    while ((
s.length) && charInString (s.charAt(i), whitespace))
       
i++;
    return 
s.substring (is.length);
}

// c es una letra del alfabeto espanol
function isLetter (c)
{
    return( ( 
uppercaseLetters.indexOf) != -) ||
            ( 
lowercaseLetters.indexOf) != -) )
}

// c es un digito
function isDigit (c)
{   return ((
>= "0") && (<= "9"))
}

// c es letra o digito
function isLetterOrDigit (c)
{   return (
isLetter(c) || isDigit(c))
}

//continuará......