Foros del Web » Programando para Internet » Javascript »

expresiones regulares

Estas en el tema de expresiones regulares en el foro de Javascript en Foros del Web. Hola amigos; Necesito, mediante expresiones regulares, validar una direccion IP y otra MAC; PAra la IP tengo: var IP = /^(\d){1,3}\.(\d){1,3}\.(\d){1,3}\.(\d){1,3}$/; Funciona 'bien', pero si ...
  #1 (permalink)  
Antiguo 13/09/2006, 10:09
 
Fecha de Ingreso: mayo-2005
Ubicación: Muy lejos de aquí
Mensajes: 367
Antigüedad: 19 años
Puntos: 0
expresiones regulares

Hola amigos;

Necesito, mediante expresiones regulares, validar una direccion IP y otra MAC;

PAra la IP tengo:

var IP = /^(\d){1,3}\.(\d){1,3}\.(\d){1,3}\.(\d){1,3}$/;

Funciona 'bien', pero si pongo una IP, por ejemplo, 256.12.25.100 dice que es correcta, cuando todos sabemos que la IP sob 4 numeros entre tres puntos con valores entre 0 y 255

Alguna solucion? puedo limitar el valor introducido?

Gracias y un saludo!
__________________
Saludos!
  #2 (permalink)  
Antiguo 13/09/2006, 12:00
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Buenas

¿y tiene que ser sí o sí con RegExp? yo haría algo tipo...

Código:
function ipe(valor){
	ip = valor.split('.');
	if(ip.length < 4){
		alert('No es una ip válida')
		return false;
	}
	for(m=0; m<ip.length; m++){
		num = parseInt(ip[m])
		if(isNaN(num) || num <0 || num >255){
			alert('No es una ip válida')
			return false;
			break;
		}
		
	}
}
  #3 (permalink)  
Antiguo 14/09/2006, 00:35
 
Fecha de Ingreso: mayo-2005
Ubicación: Muy lejos de aquí
Mensajes: 367
Antigüedad: 19 años
Puntos: 0
Si, tiene que ser mediante expresiones regulares...
__________________
Saludos!
  #4 (permalink)  
Antiguo 10/02/2009, 06:45
 
Fecha de Ingreso: octubre-2008
Mensajes: 276
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: expresiones regulares

Usa esto:

var IP = /^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$/
  #5 (permalink)  
Antiguo 20/07/2011, 05:47
 
Fecha de Ingreso: junio-2011
Mensajes: 2
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: expresiones regulares

Buenas,
aparentemente la expresión regular es correcta, pero no logro entender porqué falla con direcciones ip como las siguientes al quitar ^y $ para que pueda encontrar direcciones dentro de un texto,
Así pues la expresión regular que trato sería
([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}
por ejemplo

Direccion primera 192.168.146.2 era o
Direccion seguinda 059.192.4.2
058.192.168.4
01.192.168.42

Al empezar por cero no deben de ser direcciones válidas.
¿¿????
  #6 (permalink)  
Antiguo 20/07/2011, 07:27
 
Fecha de Ingreso: junio-2011
Mensajes: 2
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: expresiones regulares

He logrado que funciona con la siguiente expresión
^[^0]*([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}
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 00:36.