He escrito una expresión regular que debe validar una cadena usando las siguientes reglas:C# Regex Regla de validación usando Regex.Match()
- Los cuatro primeros caracteres deben ser alfanumérico.
- Los caracteres alfabéticos son seguidos por 6 o 7 valores numéricos para una longitud total de 10 o 11.
lo que la cadena debe tener este aspecto si es válida:
CCCCNNNNNN o CCCCNNNNNNN
C es cualquier carácter y N es un número.
Mi expresión se escribe: @"^[0-9A-Za-z]{3}[0-9A-Za-z-]\d{0,21}$";
Mi código de registro de expresiones regulares se ve así:
var cc1 = "FOOBAR"; // should fail.
var cc2 = "AAAA1111111111"; // should succeed
var regex = @"^[0-9A-Za-z]{3}[0-9A-Za-z-]\d{0,21}$";
Match match = Regex.Match(cc1, regex, RegexOptions.IgnoreCase);
if (cc1 != string.Empty && match.Success)
{
//"The Number must start with 4 letters and contain no numbers.",
Error = SeverityType.Error
}
Estoy esperando que alguien puede echar un vistazo a mi expresión y ofrecer alguna información sobre mejoras para producir una partido válido.
Además, ¿uso .Match()
correctamente? Si Match.Success
es true
, ¿significa eso que la cadena es válida?