7

我正在考虑使用正则表达式来限制城市名称(全球)中的标点符号。什么是相当包容的白名单?

我在想:

 (space)
. period
- hyphen
' apostrophe

还想可能是逗号或斜线,但我没有任何例子。还有其他人吗?

4

2 回答 2

2

是城市名称中最具包容性的标点符号白名单。当有人在键盘上输入撇号时,可能不会使用 ASCII 撇号代码点。

如果您已经识别了提交文本的编码,您应该能够查看它是否属于标点符号块:

/\p{InGeneral_Punctuation}/

如果您将自己限制为拉丁扩展,请使用以下内容:

/\p{InLatin_Extended-A}/

另外,问问自己:有人在我的城市名称中加上一个有趣的字符会产生什么后果?如果我排除太多,这是否比某人无法输入正确地址的后果更糟?

于 2014-05-14T20:20:54.403 回答
1

USPS 标准地址格式要求去除除主要和/或次要街道地址行中使用的“必要”连字符和破折号以及 ZIP 中的连字符之外的所有特殊字符。

因此,如果地址是:

John O'Toole
456 N 4-1/2 St
San José, CA 99999-4545

邮局更喜欢在信封上贴上以下标签:

John O Toole
456 N 4 1/2 St
San Jose CA 9999-4545
于 2015-08-07T16:56:26.043 回答