Какие правила Вы использовали бы для проверки австралийского Номера телефона?

Это невозможно с EF Core 2.2. Существует предложение для такой функции, но я бы не стал задерживать дыхание.

Если JSON, который вы храните, мал и / или обновления редки, я бы выбрал первый подход, поскольку изменения хранятся в контексте, и вам не нужна транзакция, и она лучше согласуется с общим дизайном EF , Кроме того, это обеспечивает безопасность времени компиляции и упрощает рефакторинг / изменение. Проверьте этот поток - Как сохранить JSON в поле сущности с EF Core?

Если вам нужна производительность, чем определенно команда JSON_MODIFY sql.

8
задан Community 23 May 2017 в 12:08
поделиться

5 ответов

Я сделал подобную вещь только что. Страница Wikipedia, что упомянутый unthinkableMayhem был большой начальной точкой.

С год назад, мои правила смотрели что-то как:

02[3-9]\d{7}  NSW/ACT
03[4-9]\d{7}  VIC/TAS
07[3-9]\d{7}  QLD
08\d{8}       SA/NT/WA

04[\d]{8}     Moblies  04x[123] = Optus,  04x[456] = Voda, 04x[0789] = Telstra

0500[\d]{6}   Find me anywhere server
0550[\d]{6}   VoIP
059[\d]{7}    Enum

13[\d]{4}     Local rate
1300[\d]{6}   Local rate

1800[\d]{6}   Free call

0198[\d]{2}   Data networks (local call anyway I think)
0198[\d]{6}

190[\d]{7}    Premium rate
9
ответ дан 5 December 2019 в 13:02
поделиться

0011 не единственный международный код доступа. Например, звоня за границей по факсу необходимо использовать 0015 - это избегает речевого эффекта отсечения сжатия, которое не хорошо для факса (или данные, если Вы, оказывается, используете модем). Моя база данных офисного телефона имеет 0015 префиксов на некоторых международных номерах факса. Также существуют другие международные коды набора особого назначения.

И я все еще рассматриваю номера мобильного телефона, записанные как (0411) 123 456

1
ответ дан 5 December 2019 в 13:02
поделиться

Я испытал бы желание раскрыть скобки также. Я все еще вижу номера телефона, записанные как" (0212) 34 5678" время от времени.

Есть ли все еще 008 используемых чисел? Как насчет 1800? Я думаю, что это - допустимый префикс, подобный 1300 в наше время.

0
ответ дан 5 December 2019 в 13:02
поделиться

Построение на некоторых предыдущих ответах (и я буду использовать Regexs, поскольку это более опрятно):

  1. Удалите любые пробелы или подобранный () пары
  2. Если одно из следующих соответствий, то возвратите число:
    1. 1 [38] [0-9] {4}
    2. 1300 [0-9] {6}
    3. ([(0), (+61)] [23478]) {0,1} [1-9] [0-9] {7}

Обратите внимание, что значения кода области, которые допустимы, [23478]. Я также предположил, что все еще существуют 1 800 чисел. Я думаю, что также могло бы быть 1 900 чисел.

Кроме того, 000 и 112 допустимые экстренные номера: в зависимости от Вашего определенного варианта использования можно хотеть явно позволить или отклонить эти числа. Если бы Вы хранили, 'Это - мой номер телефона', затем Вы, вероятно, хотели бы te, запрещают экстренные номера, но для чего-то как план набора, Вы хотели бы позволить им.

2
ответ дан 5 December 2019 в 13:02
поделиться

Это, вероятно, что Вы после:

http://www.comlaw.gov.au/comlaw%5Cmanagement.nsf/lookupindexpagesbyid/IP200506356?OpenDocument

Телекоммуникации, Нумерующие План 1997, Устанавливают платформу для нумерации услуг по перевозкам и для использования чисел в связи с предоставлением услуг по перевозкам, указывают числа для использования в связи с предоставлением услуг по перевозкам и устанавливают платформу для выделения и мобильности чисел.

Это - краткий документ на 261 страницу, который содержит все, что необходимо знать :)

0
ответ дан 5 December 2019 в 13:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: