Necesito función JavaScript para validar matrículas

perdudet

Baneado.
Unido
febrero 15, 2008
Mensajes
2,732
Karma
1,846
Ubicación
Kornella City
Buenas!!

pues he intentado buscar con el diós google pero no he encontrado nada...

necesito una función en javascript que me valide que las matrículas que se introducen son correctas.

Los tipos de matrícula que debe poder dar como correctos son:

nuevas matrículas:

1234BBB

matrículas antiguas:

B1234AA

matrículas antiguisimas:

B123456

matrículas ciclomotores

C1234BBBB


el que me encuentre una función que funcione perfectamente le dono 100 créditos :p

gracias y saludos! XD

pd: en principio la quiero en javascript pero si es en cualquier otro lenguaje no me importaría... ya me encargaría yo de traducirla a javascript :)
 
Unido
mayo 15, 2008
Mensajes
4,611
Karma
2,696
Ubicación
la warped tour
has probado alguna expresion regular¿? me suena que estas cosas se hacian asi.

Saludos:hola:
--- [ Añadido ] -----
aqui tienes perdu, falta la de antiquisimas y ciclomotores, pero creo que a partir de estas las podras sacar ( sino te paso la del dni,que es lo mismo que la vieja pero cambiando la posicion de la letra):

Matrícula Nueva: 0123-ABC


Patrón: (\d{4}-[\D\w]{3})

Matrícula Vieja: AB-0123-CS

Patrón: ([\D\w]{1,2}-\d{4}-[\D\w]{2})

Ahora la unión de ambas nos dará el patrón final

(\d{4}-[\D\w]{3}|[\D\w]{1,2}-\d{4}-[\D\\w]{2})
Saludos:hola:
 
Última edición:

perdudet

Baneado.
Unido
febrero 15, 2008
Mensajes
2,732
Karma
1,846
Ubicación
Kornella City
si mad... esa será la última solución XD

pero es que soy de los que cogen código de aqui de allá lo adaptan y se lo quedan como propio XD

vamos programador de los de Copy&Conquer más que de Divide&Conquer XDXD tu ya me entiendes, no?

cuando la tenga hecha la pondré aqui XD

gracias crack ;)
 
Unido
mayo 15, 2008
Mensajes
4,611
Karma
2,696
Ubicación
la warped tour
mmm, para validar formularios me temo que no te queda mas remedio que las expresiones regulares, suerte con tu busqueda ;)

Saludos:hola:
 

perdudet

Baneado.
Unido
febrero 15, 2008
Mensajes
2,732
Karma
1,846
Ubicación
Kornella City
Bueno... finalmente lo he hecho en ASP... XD

a ver que os parece:

function validaProvincia(str)
Set con = server.createObject("ADODB.Connection")
con.open getConString
set rs = server.createObject("adodb.recordset")

letra1 = left(str,1)
letra2 = right(str,1)

if (isNumeric(letra2)) then
letra = letra1
else
letra = str
end if

sql = "select * from web_provincias where matricula_auto='" & letra & "'"
rs.open sql,con,1,2

if (rs.eof) then
resultado = "No existe provincia"
else
resultado = rs("desc_provincia")
end if
rs.close
con.close

validaProvincia = resultado
end function

set oER = New RegExp
oER.Pattern = "^\d\d\d\d[BCDFGHJKLMNPRSTVWXYZ][BCDFGHJKLMNPRSTVWXYZ][BCDFGHJKLMNPRSTVWXYZ]$"

tipo = ""

if (oER.Test(Request("matricula"))) then
tipo = "matricula nueva"
end if

oER.Pattern = "^[A-Z]{1,2}\d\d\d\d[A-Z]{1,2}$"

if (oER.Test(Request("matricula"))) then
tipo = "matricula antigua 1"
txterror = validaProvincia(left(request("matricula"),2))
end if

oER.Pattern = "^[A-Z]{1,2}\d\d\d\d\d\d$"

if (oER.Test(Request("matricula"))) then
tipo = "matricula antigua 2"
txterror = validaProvincia(left(request("matricula"),2))
end if

oER.Pattern = "^C\d\d\d\d[BCDFGHJKLMNPRSTVWXYZ][BCDFGHJKLMNPRSTVWXYZ][BCDFGHJKLMNPRSTVWXYZ]$"

if (oER.Test(Request("matricula"))) then
tipo = "ciclomotor"
end if

if (tipo="") then
response.write("matricula incorrecta")
else
response.write(tipo & "<br>" & txterror)
end if
:)
 
Superior