Foros del Web » Programando para Internet » ASP Clásico »

Validar campo de form a formato especifico

Estas en el tema de Validar campo de form a formato especifico en el foro de ASP Clásico en Foros del Web. Hola a todos, tengo un campo de un formulario que deseo validar con un cierto formato, en mexico se le llama RFC, no se como ...
  #1 (permalink)  
Antiguo 27/06/2007, 22:20
 
Fecha de Ingreso: julio-2005
Mensajes: 27
Antigüedad: 18 años, 11 meses
Puntos: 0
Validar campo de form a formato especifico

Hola a todos, tengo un campo de un formulario que deseo validar con un cierto formato, en mexico se le llama RFC, no se como se le llame en otros paises, el caso es que quiero que el campo sea de la siguiente manera:

GOCM8402012K3

PRIMEROS CUATRO CARACTERES LETRAS
SIGUIENTES SEIS SOLO NUMEROS
LUEGO NUMERO
LETRA
NUMERO

SON TRECE CARACTERES EN TOTAL, ALGUIEN ME PUEDE AYUDAR...???
  #2 (permalink)  
Antiguo 28/06/2007, 03:20
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Re: Validar campo de form a formato especifico

En ASP VBScript yo lo haria asi:

Código:
function validaFormato(texto)
    validaFormato = false
    if len(texto) <> 13 then exit function

    ' Comprobar 4 primeros caracteres [1 - 4] --> Deben ser Letras    
    for n = 1 to 4
        if isnumeric(mid(texto,n,1)) then exit function 
    next
    
    ' Siguientes 6 [5-10] --> Numericos
    for n = 5 to 10
        if not isnumeric(mid(texto,n,1)) then exit function 
    next
    
    ' Siguiente [11] Numero
    if not isnumeric(mid(texto,11,1)) then exit function 
    
    ' Siguiente [12] Letra
    if isnumeric(mid(texto,12,1)) then exit function 
    
    ' Siguiente [13] Numero
    if not isnumeric(mid(texto,13,1)) then exit function 
    
    validaFormato = true
end function

Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #3 (permalink)  
Antiguo 28/06/2007, 11:15
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Re: Validar campo de form a formato especifico

Bueno, ya estás bien asesorado por tammander () pero quizás yo lo haría con expresiones regulares y aunque no es el lugar correcto tal vez quieras validarlo con JavaScript, si no es así, solo es cuestión de traducir la implementación a VBS

Código:
<html>
<head>
<script language="javascript">
	function valida(forma)
	{
		var regEx = /(^[a-z]{4}[0-9]{7}[a-z]{1}[0-9]{1}$)/;
		with (forma)
			return ( regEx.exec(thisText.value) ) != null;
	}
</script>
</head>
<body>
	<form id="thisForm" onsubmit="return valida(this);">
		<input type="text" id="thisText" />
		<br />
		<input type="submit" value="Submit" />
	</form>
</body>
</html>
Salud
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #4 (permalink)  
Antiguo 29/06/2007, 01:41
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Re: Validar campo de form a formato especifico

Cierto, u_goldman Es más elegante tu código. Para redondear el código lo pongo en ASP con tu expresion regular.

Código:
Function isMyFormat(texto)    
        Dim regEx
        Set regEx = New RegExp            
        regEx.Pattern = "(^[a-z]{4}[0-9]{7}[a-z]{1}[0-9]{1}$)"
        regEx.IgnoreCase = True
        isMyFormat = regEx.test(texto) 
        set regEx = nothing
End Function
USO:

if isMyFormat("GOCM8402012K3") then ...



Un saludo

(¡¡¡Vivan los viernes !!!)
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -

Última edición por tammander; 29/06/2007 a las 01:48
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:41.