vancouver toronto tiene quebec postal numeros nord montreal manitoba lansdowne cuantos cual codigo canada bloor and c# .net regex

c# - toronto - cual es el codigo postal de canada



Validación de código postal canadiense (7)

Necesito validar un código postal canadiense (por ejemplo, M4B 1C7 ) usando expresiones regulares C # (.NET).


Algo como esto:

^[A-Z]/d[A-Z] /d[A-Z]/d$


Aquí están las reglas http://en.wikipedia.org/wiki/Postal_code#Reserved_characters

ABCEGHJKLMNPRSTVXY <-- letter used DFIOQU <-- letters not used because it mixes up the reader WZ <-- letters used but not in the first letter With that in mind the following in the proper regex @[ABCEGHJKLMNPRSTVXY][0-9][ABCEGHJKLMNPRSTVWXYZ][/s][0-9][ABCEGHJKLMNPRSTVWXYZ][0-9]


Los códigos postales canadienses no pueden contener las letras D, F, I, O, Q o U, y no pueden comenzar con W o Z:

[ABCEGHJKLMNPRSTVXY][0-9][ABCEGHJKLMNPRSTVWXYZ][0-9][ABCEGHJKLMNPRSTVWXYZ][0-9]

Si quieres un espacio opcional en el medio:

[ABCEGHJKLMNPRSTVXY][0-9][ABCEGHJKLMNPRSTVWXYZ] ?[0-9][ABCEGHJKLMNPRSTVWXYZ][0-9]


Prueba esto:

function postalCodeCheck (postalCode, type) { if (!postalCode) { return null; } postalCode = postalCode.toString().trim(); var us = new RegExp("^//d{5}(-{0,1}//d{4})?$"); // var ca = new RegExp(/^((?!.*[DFIOQU])[A-VXY][0-9][A-Z])|(?!.*[DFIOQU])[A-VXY][0-9][A-Z]/ ?[0-9][A-Z][0-9]$/i); var ca = new RegExp(/^[ABCEGHJKLMNPRSTVXY]/d[ABCEGHJKLMNPRSTVWXYZ]( )?/d[ABCEGHJKLMNPRSTVWXYZ]/d$/i); if(type == "us"){ if (us.test(postalCode.toString())) { console.log(postalCode); return postalCode; } } if(type == "ca") { if (ca.test(postalCode.toString())) { console.log(postalCode); return postalCode; } } return null; }


Sugiero lo siguiente:

bool FoundMatch = false; try { FoundMatch = Regex.IsMatch(SubjectString, "//A[ABCEGHJKLMNPRSTVXY]//d[A-Z] ?//d[A-Z]//d//z"); } catch (ArgumentException ex) { // Syntax error in the regular expression }



class Program { static void Main(string[] args) { string c1; string c2; string c3; string c4; string c5; string c6; string c7; int sortie; bool parfais = true; Console.WriteLine("entrer votre code postal"); string cp = Console.ReadLine(); if (cp.Length == 7) { c1 = cp.Substring(0, 1); c2 = cp.Substring(1, 1); c3 = cp.Substring(2, 1); c4 = cp.Substring(3, 1); c5 = cp.Substring(4, 1); c6 = cp.Substring(5, 1); c7 = cp.Substring(6, 1); if (int.TryParse(c1, out sortie)) { parfais = false; Console.WriteLine("le 1er caratere doit etre une lettre"); } if (int.TryParse(c2, out sortie) == false) { parfais = false; Console.WriteLine("le 2e caratere doit etre un nombre"); } if (int.TryParse(c3, out sortie)) { parfais = false; Console.WriteLine("le 3e caratere doit etre une lettre"); } if (c4.Contains(" ") == false) { parfais = false; Console.WriteLine("vous devez utiliser un espace"); } if (int.TryParse(c5, out sortie) == false) { parfais = false; Console.WriteLine("le 5e caratere doit etre un nombre"); } if (int.TryParse(c6, out sortie)) { parfais = false; Console.WriteLine("le 6e caratere doit etre une lettre"); } if (int.TryParse(c7, out sortie) == false) { parfais = false; Console.WriteLine("le 7e caratere doit etre un nombre"); } else if(parfais == true) { Console.WriteLine("code postal accepter"); Console.ReadLine(); } } else { Console.WriteLine("le code postal doit contenir 7 caratere incluant l''espace"); } Console.ReadLine();