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 (Incorrecto, porque el largo del número no debe exceder los 9 caracteres)
000000001, (Incorrecto, porque no puede terminar en un caracter especial como el . o , o -)
2° Caso:
000000001-000000010 (Correcto)
000000001-000000010,000000010 (Incorrecto, porque necesito rangos y la coma invalida la busqueda por rango)
3° Caso:
000000001,000000003,000000007,000000009,000000010 (Correcto) Pueden ser N.
000000001,000000003,000000007,000000009,000000010-000000011 (Incorrecto, porque no puede tener un rango si estoy buscando valores alternos)
000000001,000000003, (Incorrecto, porque 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