2014-02-26 6 views
2

Я рассматриваю регулярное выражение для ограничения пунктуации в названиях городов (по всему миру). Что бы это был довольно белый список?Какие знаки пунктуации необходимы для поля города?

Я имею в виду:

(space) 
. period 
- hyphen 
' apostrophe 

мышления Также возможно запятая или слэш, но у меня нет никаких примеров. Есть ли другие?

+1

Я думаю, что все из них .. за исключением названий городов, которые содержат специальные символы, такие как : Hōnaunau, или San Josè и т. Д. Но большинство городских баз данных и сайтов, которые, как я знаю, не используют какие-либо из этих специальных символов и в основном просто вычеркивают эти символы и используют эквивалент американского алфавита, такой как Honaunau или San Jose. – MElliott

+1

В США все названия городов (в соответствии с USPS и, я считаю, USCB) хранятся в ASCII в официальных базах данных. В мире вам придется учитывать акцентирование. (Может быть, вместо того, чтобы ограничивать ввод, вместо этого запретить наложение полосы ... но на некоторых языках символы акцентов влияют на смысл и правописание.) – Matt

+0

@Matt: вы правы. Я считаю, что снятие является лучшим вариантом. Я в основном озабочен пунктуацией, а не письмами, поскольку планирую разрешить расширенные латинские символы – User

ответ

1

This - это самый белый список знаков препинания, который можно найти в названиях городов. Код апострофа ASCII может быть не тот, который используется, когда кто-то вводит апостроф на клавиатуре.

Если вы распознал кодирование представленного текста, вы должны быть в состоянии увидеть, если он попадает под блок пунктуация:

/\p{InGeneral_Punctuation}/ 

Если вы ограничиваете себя в Латинской Extended, просто использовать те :

/\p{InLatin_Extended-A}/ 

Также спросите себя: Каковы последствия того, кто кого-то помещает забавного персонажа в мое название города? Это хуже, чем последствия того, что кто-то не может ввести свой правильный адрес, если я слишком сильно исключаю?

0

Форматирование стандартного адреса 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