Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/03/2013, 15:05
sikociado
 
Fecha de Ingreso: mayo-2008
Mensajes: 44
Antigüedad: 15 años, 11 meses
Puntos: 1
Exclamación Expresion regular

Estimados,
He estado dando vueltas hace un buen rato con el tema de expresiones regulares y no he podido resolver un problema. He logrado cosas pero no todas las condiciones que necesito.

Necesito validar atraves de una expresión regular que permita los siguientes valores
EJ:

Código PHP:
1° Caso:
000000001 (Correcto)
0000000011 (Incorrectoporque el largo del número no debe exceder los 9 caracteres)
000000001, (Incorrectoporque no puede terminar en un caracter especial como el -)

2° Caso:
000000001-000000010 (Correcto)
000000001-000000010,000000010  (Incorrectoporque necesito rangos y la coma invalida la busqueda por rango)

3° Caso:
000000001,000000003,000000007,000000009,000000010 (CorrectoPueden ser N.
000000001,000000003,000000007,000000009,000000010-000000011 (Incorrectoporque no puede tener un rango si estoy buscando valores alternos)
000000001,000000003, (Incorrectoporque no puede terminar con un caracter especial). 
He logrado solucionar el caso 1 y 2 con la siguiente expresión pero me falta por resolver el caso 3.

Código PHP:
Expresión regular : ^(d{9})?$|^(d{9}-d{9})?$|(d{9})(,d{9}) 

Cualquier ayuda se agradece.


Saludos