C# - 验证美国或加拿大邮政编码code [英] C#- Validation for US or Canadian zip code
本文介绍了C# - 验证美国或加拿大邮政编码code的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用下面的方法来验证美国或加拿大邮政编码code,但我认为这是不是为我工作的罚款。请给我建议在正规前pression的变化。
私人布尔IsUSorCanadianZip code(字符串拉链code)
{
布尔isValidUsOrCanadianZip = FALSE;
字符串模式= @^ \\ D {5} - \\ d {4} | \\ d {5} | [A-Z] \\ D [A-Z] \\ D [A-Z] \\ D $;
正则表达式的regex =新的正则表达式(模式);
返回isValidUsOrCanadianZip = regex.IsMatch(邮政编码code);
}
感谢。
解决方案
字符串_usZi preGEX = @^ \\ D {5}(?:[ - \\ S] \\ ð{4})$?;
字符串_caZi preGEX = @^([ABCEGHJKLMNPRSTVXY] \\ D [ABCEGHJKLMNPRSTVWXYZ])\\ {0,1}(\\ D [ABCEGHJKLMNPRSTVWXYZ] \\ D)$; 私人布尔IsUsorCanadianZip code(字符串拉链code)
{
布尔validZip code = TRUE;
如果((Regex.Match(邮政编码code,_usZi preGEX).Success)及!&安培;!(Regex.Match(邮政编码code,_caZi preGEX).Success))
{
validZip code = FALSE;
}
返回validZip code;
}
}
I am using following method to validate US or Canadian zip code, but i think it is not working fine for me. Please suggest me the changes in the regular expression.
private bool IsUSorCanadianZipCode(string zipCode)
{
bool isValidUsOrCanadianZip = false;
string pattern = @"^\d{5}-\d{4}|\d{5}|[A-Z]\d[A-Z] \d[A-Z]\d$";
Regex regex = new Regex(pattern);
return isValidUsOrCanadianZip = regex.IsMatch(zipCode);
}
Thanks.
解决方案
string _usZipRegEx = @"^\d{5}(?:[-\s]\d{4})?$";
string _caZipRegEx = @"^([ABCEGHJKLMNPRSTVXY]\d[ABCEGHJKLMNPRSTVWXYZ])\ {0,1}(\d[ABCEGHJKLMNPRSTVWXYZ]\d)$";
private bool IsUsorCanadianZipCode(string zipCode)
{
bool validZipCode = true;
if ((!Regex.Match(zipCode, _usZipRegEx).Success) && (!Regex.Match(zipCode, _caZipRegEx).Success))
{
validZipCode = false;
}
return validZipCode;
}
}
这篇关于C# - 验证美国或加拿大邮政编码code的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文