【发布时间】:2018-11-04 21:50:03
【问题描述】:
我正在尝试使用正则表达式验证 Google 表单中街道地址的格式。我无法确认它是真实地址,但我想至少验证该字符串是:
[数字(最多 6 位数字)] [单词(最少 1 到最多 8 个单词) 和数字之间的空格和 # 允许)],[单词(最少 1 到最多 4 个单词,只有字母)],[2 大写字母] [5位数字]
我希望我在括号之间留下的空格和逗号是必需的,正是我在上面的示例中放置它们的位置。这将验证
123 测试街,测试城市,TT 12345
这显然不是一个真实的地址,但至少它需要输入正确的格式。数据来自人们在表格上回答问题,所以它永远只是一个地址,没有名字。另外,它们的地址都是南佛罗里达州的一个地区,几乎所有地址都将匹配这种格式。我遇到的问题是人们没有进入城市或逗号,所以如果他们没有,我想给他们一个错误。到目前为止,我已经找到了这个
^([0-9a-zA-Z]+)(,\s*[0-9a-zA-Z]+)*$
但这不允许逗号之间有多个单词,或者 zip 的大写字母和数字。任何帮助都会为我省去很多麻烦,我将不胜感激。
【问题讨论】:
-
每个单词有多少个字符/数字?
-
这个话题之前已经出现过,正则表达式不是要走的路。 stackoverflow.com/questions/11160192/…
-
我确实看到了关于这个的其他帖子,但我对此和答案的使用范围很窄。 G提供的似乎对我来说很完美。我不会遇到其他人必须处理的诸如邮政信箱和奇怪格式之类的问题,因为他们可能拥有更大的数据集。
标签: regex validation format street-address