C#(.NET)の正規表現を使用してカナダの郵便番号(例:M4B 1C7
)を検証する必要があります。カナダの郵便番号の確認
答えて
カナダの郵便番号は、文字D、F、I、O、Q、またはUを含めることはできませんし、あなたが途中で、オプションのスペースが必要な場合
[ABCEGHJKLMNPRSTVXY][0-9][ABCEGHJKLMNPRSTVWXYZ][0-9][ABCEGHJKLMNPRSTVWXYZ][0-9]
:WまたはZで始めることはできません
[ABCEGHJKLMNPRSTVXY][0-9][ABCEGHJKLMNPRSTVWXYZ] ?[0-9][ABCEGHJKLMNPRSTVWXYZ][0-9]
私は次のことをお勧め:このような
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
}
意味の妥当性を確認せずに郵便番号の書式を検証することは、間違った住所の有効な郵便番号が誤って入力される可能性があるため、その価値はありません。コードをアドレスデータベースに対して検証する必要があります。ここを参照してくださいhttp://www.canadapost.ca/cpo/mc/business/productsservices/atoz/postalcodeproducts.jsf
カナダのポストリンクが死んでいる – billynoah
は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]
これを試してみてくださいルールです:
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;
}
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();
OPが欲しい正規表現を使用する。この答えには何もありません。 –
- 1. 郵便番号半径の確認
- 2. 電話番号と郵便番号の書式確認
- 3. カナダの郵便番号の正規表現の検証
- 4. カナダの郵便番号範囲の税率Magento
- 5. 郵便番号
- 6. Django:郵便番号
- 7. geoip郵便番号のクエリ
- 8. 特定の郵便番号の最も近い郵便番号の検索
- 9. Googleマップで郵便番号/郵便番号の範囲を表示
- 10. 無料郵便番号データベース?
- 11. Google Maps API:郵便番号
- 12. MySQLグループ郵便番号
- 13. Jquery郵便番号clientvalidate
- 14. SQL Server:郵便番号パーサ
- 15. 削除 - ####郵便番号
- 16. 郵便番号のセットのマッピング
- 17. ウェブサイトの郵便番号のクエリ
- 18. 郵便番号の保存と照会
- 19. ASP.NET MVC 4郵便番号の検証
- 20. 郵便番号のMySQL REGEX WHERE句
- 21. 郵便番号のMSアクセス入力マスク
- 22. Openlayer Drupalモジュールの郵便番号エラー
- 23. 最近の郵便番号検索asp.net
- 24. 配信エリアのJavascript郵便番号フォーム?
- 25. 郵便番号ベースの検索
- 26. 郵便番号とキロメートルのgoogleマップ
- 27. 郵便番号ファジーマッチングの仕方は?
- 28. コンタクトインテントの挿入市、国、郵便番号
- 29. 郵便番号のCRC-32フィールド
- 30. 郵便番号への経度/緯度?
+1 "カナダの郵便番号には特定の文字を使用できません"。先頭の文字がより制限されていて、次に2番目と3番目の文字が制限されていると付け加えることもできます。 –
答えのためのトンをありがとう...これはM4B1E8のようなコードのためにうまくいきます...しかしそれはM4B 1E8のために働かないでしょう。カナダの郵便番号は3文字後のスペースを持つことができます。参考:http://www.mongabay.com/igapo/toronto_zip_codes.htm – Jimmy
入力時に空白を無視し、標準形式に正規化するのが理想的です。そうすれば、人々はスペースの有無にかかわらず郵便番号を入力することができ、それは重要ではありません。必要に応じて出力目的でフォーマットすることができます。 – Rob