如何为用户创建一个框以输入其邮政编码?

时间:2014-04-08 13:29:54

标签: c# .net winforms user-interface

我正在使用C#在Visual Studio中创建一个Windows应用程序。

我想创建一个文本框,用户将在其中键入其邮政编码。该程序需要能够验证是否已输入有效条目。

我是编程新手,并尝试搜索谷歌,但更加困惑。

2 个答案:

答案 0 :(得分:1)

您可以使用MaskedTextBox来实现此目的。只需在控件的Mask属性中定义邮政编码模式。

请注意,它本身只会检查输入是否与预期格式匹配。如果您需要检查代码是否与地址的其他段一致(例如,以50000开头的邮政编码在明尼苏达州无效),您很可能需要使用在线服务API。

修改

这里有点超出范围,但仍然是一个有效点:正如本杰明所提到的,你需要在模型级别进行验证。将MaskedTextBox控件想象成一种简单的方法,可以帮助最终用户在提交到模型对象之前实际验证之前输入格式良好的邮政编码。

答案 1 :(得分:1)

这是我们以前用于验证英国邮政编码的方法...(注意:我们现在实际使用第三方API进行验证)

        private bool IsPostCode(string text)
        {
            var nospace = text.Replace(" ", string.Empty);
            if (nospace.Length < 6)
            {
                return false;
            }

            char[] chars = text.ToCharArray();

            if (chars[0] < 'A' || chars[0] > 'Z')
            {
                return false;
            }

            if (chars[1] < 'A' || chars[1] > 'Z')
            {
                return false;
            }

            if (chars[2] < '0' || chars[2] > '9')
            {
                return false;
            }

            return true;
        }