6

您是否有用于在英国对以下项目进行现场验证的伪代码?我来自美国,所以我现在只知道美国的那些。

  • 地址第一行
  • 电话号码
  • 手机号码(如果他们对此有特殊规定,他们可能没有)
  • 邮政编码
4

6 回答 6

5

地址第 1 行,如果您想验证用户输入的自由格式,您可能会被淹没。有很大的可变性。您可以使用邮政编码地址文件(见下文)来协助,

通常,如果您想要一个“标准”地址,面向英国的网站会询问邮政编码,然后提示用户从该邮政编码的所有地址中选择正确的地址

电话号码和手机号码。请参阅此处http://en.wikipedia.org/wiki/Telephone_numbers_in_the_United_Kingdom。可以在此处找到验证这些(多种语言)的脚本:http ://www.braemoor.co.uk/software/telnumbers.shtml

邮政编码格式:http ://en.wikipedia.org/wiki/UK_postcodes (包含验证的正则表达式,并引用列出有效地址的邮政编码地址文件)

于 2008-11-10T07:40:45.160 回答
4

地址行 1 几乎可以是任何东西。并不总是有门牌号码。

电话号码:区号的长度各不相同。我不想发誓全长是否恒定,但我怀疑它总是至少 10 位数。手机号码(IME)通常以 07 开头,而固定电话通常以 01 或 02 开头。特殊号码(免费、本地费率等)通常以 08 开头。我会尝试为此找到参考。(编辑:再一次,有一篇很好的维基百科文章。)

维基百科有一篇关于英国邮政编码的好文章,包括它们的正则表达式。

于 2008-11-10T07:37:13.013 回答
3

Perl 的Number::Phone模块可以处理英国的电话号码。皇家邮政提供地址验证和列表清理服务。

于 2008-11-10T08:18:41.230 回答
1

对于英国电话号码,您最好的选择(不幸的是)可能是从 Ofcom 下载编号计划(它们是 excel 电子表格,包含所有相关的号码范围,分为区号、“地理号码”、个人号码、手机号码、各种服务号码、不同的付费号码以及从号码范围到运营商的映射(不过,后者可能不是您需要的)。

于 2008-11-10T08:32:14.523 回答
1

与此类问题一样,不要沉迷于过度验证。检查最有可能严重畸形的输入,然后继续。试图跟踪在任何特定语言环境中使用的电话号码的前缀和长度是对您时间的极大浪费。让一些可能可以修复的错误通过告诉他们“无效”而失去客户要好。

(您在英国获得的最接近标准地址格式的是邮政编码加门牌号码。即使这样也总是有例外。)

于 2008-11-10T11:14:48.627 回答
0

我已经在这里开始了用于 GB 电话号码的 Django 表单验证的代码(或至少一堆 RegEx 模式)。这里
有一个基本的解释。

于 2012-09-03T18:25:22.033 回答