Программирование на Python и Objective-C в Mac OS

Программирование на Python и Objective-C под Mac OS и для iPhone / iPod Touch

Html tel a: 🤷🏽‍♀️ Page not found | MDN Web Docs

Содержание

— HTML | MDN

HTML-элемент <a> определяет гиперссылку для перехода на определённое место на странице или на другую страницу в Интернете. Также он может быть использован (в устаревшем варианте) для создания якоря — это место назначения для гиперссылок внутри страницы: так ссылки не ограничены только в перемещении между страницами.

<a href="https://developer.mozilla.org">MDN</a>

Этот элемент включает в себя общие атрибуты.

download HTML5
Этот атрибут сообщает о том, что эта ссылка должна быть использована для скачивания файла, и, когда пользователь нажимает на ссылку, ему будет предложено сохранить файл как локальный. Если у этого атрибута есть значение, оно будет использовано как заполненное название файла в Окне сохранения, которое открывается, когда пользователь нажимает на ссылку (пользователь может поменять название перед сохранением файла). Ограничений на позволенные значения нет (хотя оно будет конвертировано в нижние подчёркивания, предотвращая специфичные пути), но стоит обратить внимание, что у большинства файловых систем есть ограничения на то, какие знаки препинания поддерживаются файловой системой, и браузеры регулируют названия согласно ограничениям.
 

Примечание:

  • Атрибут может быть использован вместе с blob: URLs и data: URLs, чтобы пользователи могли проще скачать контент, который сгенерирован с помощью  JavaScript (например, картинка, созданная с помощью онлайн-сайта для рисования).
  • Если представлен HTTP-заголовок Content-Disposition:, и он содержит иное название, у HTTP-заголовка есть преимущество над атрибутом.
  • Если этот атрибут установлен и Content-Disposition: установлен на inline, Firefox отдаёт преимущество Content-Disposition, но в тоже время Chrome отдаёт преимущество атрибуту download.
  • Этот атрибут соблюдается только на ресурсах с тем же  доменом.
href
Единственный обязательный атрибут для определения ссылки в HTML4, но больше необязательный в HTML5. Упущение этого атрибута создаёт ссылку-заполнитель. Атрибут href указывает ссылку: либо URL, либо якорь. Якорь — это название после символа #, который указывает на элемент (ID (en-US)) на текущей странице. URL не ограничены только ссылками на HTTP, они могут использовать любой протокол, поддерживающийся браузером. Например, file, ftp и mailto работают в большинстве браузеров.
hreflang
Этот атрибут сообщает язык документа по ссылке. Это чисто контрольная информация. Разрешённые значения определены в BCP47 для HTML5 и RFC1766 для HTML4. Используйте этот атрибут, только если задан href.
ping HTML5
Этот атрибут уведомляет указанные в нём URL, что пользователь перешёл по ссылке.
referrerpolicy
Этот атрибут сообщает, какую информацию передавать ресурсу по ссылке:
  • "no-referrer" не отправляет заголовок Referer.
  • "no-referrer-when-downgrade" не отправляет заголовок Referer ресурсу без TLS (HTTPS). Это стандартное поведение браузера, если не указана иная политика.
  • "origin" отправляет такую информацию о текущей странице, как адрес, протокол, хост и порт.
  • "origin-when-cross-origin" отправляет другим ресурсам только протокол, хост и порт, а внутри ресурса также отправляет путь. 
  • "unsafe-url" отправляет только ресурс и адрес (но не пароли или никнеймы). Это значение небезопасно, так как могут утечь ресурс и адрес с TLS-защищённых ресурсов на небезопасные.
rel
Для ссылок, которые содержат атрибут href, этот атрибут устанавливает отношения между ссылками. Значением является список значений, разделённый пробелами. Значения и их семантика будут зарегистрированы другими сайтами, которые могут иметь произвольное значение к документу автора. Значением по умолчанию является void, если не задано иное. Используйте этот тег, только если задан атрибут href.
target
Этот атрибут определяет, где показать содержимое по ссылке. В HTML4, это название и ключевое слово фрейма. В HTML5, это название или ключевое слово в браузере (например, вкладка, окно или iframe). У следующих ключевых слов специальные значения:
  • _self загружает документ в текущем фрейме в HTML4 (или текущей вкладке в HTML5) как текущий. Это значение по умолчанию, если не указано иное значение.
  • _blank загружает документ в новой окне в HTML4 или вкладке в HTML5.
  • _parent загружает документ в родительском фрейме в HTML4 или в родительской вкладке в HTML5. Если нет родителя, параметр будет вести себя как _self: Load the response into the HTML4 frameset parent of the current frame or HTML5 parent browsing context of the current one. If there is no parent, this option behaves the same way as _self.
  • _top в HTML4 загружает документ в новом окне, игнорируя другие фреймы. В HTML5 загружает в окне высшего уровня. Если родителя нет, опция ведёт себя как _self.

Используйте этот атрибут только если указан href.

Примечание: Используя target, вы должны добавлять rel="noopener noreferrer", чтобы избежать эксплуатацию API window.opener.

type
Этот атрибут определяет MIME-тип для документа по ссылке. Обычно это используется как контрольная информация, но в будущем браузеры могут добавлять маленькую иконку для медиафайлов. Например, браузер может добавить маленькую иконку мегафона, если тип файла установлен как audio/wav.
Используйте этот атрибут только если указан href.

Устаревшие 

charset Вышла из употребления с версии HTML5
Этот атрибут определяет кодировку документа по ссылке. Значением является разделённый пробелами или запятыми список кодировок. Значением по умолчанию является ISO-8859-1.

Предупреждение: Этот атрибут является устарелым в HTML5 и не должен использоваться. Чтобы достичь такого же эффекта, используйте HTTP-заголовок Content-Type на ссылающемся ресурсе.

coords HTML 4Вышла из употребления с версии HTML5
Для использования с формой объекта, этот атрибут использует разделённый запятыми список чисел для определения координат объекта на странице.
name HTML 4 Вышла из употребления с версии HTML5
Этот атрибут обязателен в определении якоря на странице. Значение имени схоже со значением id и должен быть уникальным идентификатором и состоять из букв и цифр. Согласно спецификации HTML 4.01, и id, и name могут быть использованы с элементом <a>, пока у них идентичные значения.
rev HTML 4 Вышла из употребления с версии HTML5
Этот атрибут определяет обратную ссылку, обратные отношения атрибута rel. Это полезно, чтобы отобразить, откуда пришёл объект как автор или документ.
shape HTML 4 Вышла из употребления с версии HTML5
Этот атрибут используется, чтобы определить выбранный регион для ссылок на источник гипертекста, которые соединены с фигурой для создания изображения-карты. Значения для атрибута — circle, default, polygon и rect. Формат координат зависит от выбранной формы. Для circle — x, y, r, где x и y — пиксельные координаты центра круга и r — радиус в пикселях. Для rect — x, y, w, h, где x и y — координаты верхнего левого угла прямоугольника, а w и h — ширина и высота соответственно. Значениями polygon для координатор формы являются x1, y1, x2, y2… Каждая пара x, y определяет точку в полигоне, с последующей точкой становится прямой линией, и последняя точка объединяется с первой. Значение default для форм требует, чтобы полностью закрытая территория, например, изображение, было использовано.

Примечание: Желательно использовать атрибут usemap для элемента <img> и связанного элемента <map>, чтобы определить горячие точки вместо атрибутов формы.

Нестандартные

datafld 
Этот атрибут определяет название столбца из объекта исходных данных, который принимает связанные данные.

Предупреждение: Этот атрибут нестандартный и не должен использоваться. Для достижения такого же эффекта, используйте скрипты и такие механизмы, как XMLHttpRequest, чтобы динамично заполнять страницу.

ПоддержкаGeckoPrestoWebKitTrident
Не реализованаНе реализованаНе реализованаIE4, IE5, IE6, IE7 (Убрана в IE8)
Нормативный документMicrosoft’s Data Binding: dataFld Property (MSDN)
datasrc 
Этот атрибут сообщает ID объекта исходных данных, который принимает связанные данные с этим элементом.

Предупреждение: Этот атрибут нестандартный и не должен использоваться. Для достижения такого же эффекта, используйте скрипты и такие механизмы, как XMLHttpRequest, чтобы динамично заполнять страницу.

ПоддержкаGeckoPrestoWebKitTrident
Не реализованаНе реализованаНе реализованаIE4, IE5, IE6, IE7 (Убрана в IE8)
Нормативный документMicrosoft’s Data Binding: dataSrc Property (MSDN)
methods 
Значение этого атрибута предоставляет информацию о функциях, которые могут быть выполнены на объекте. Обычно значения даны HTTP-протоколом, когда он использован, но может (для похожих целей, как для атрибута title) быть полезным для включения контрольной информации в ссылке. Например, браузер может выбрать другой тип рендеринга для ссылки как функцию определённых методов; что-то, что может быть найдено, может иметь другую иконку, или внешняя ссылка может получить индикатор перехода с текущего сайта. Этот элемент не понимается или не поддерживается полностью даже браузером Internet Explorer 4, который определил этот атрибут. Значения methods (MSDN).
urn 
Этот атрибут, предложенный Micosoft, определяет отношения уникального названия ресурса (URN) с ссылкой. Хотя он основан на стандартах работы нескольких лет назад, значение URN всё ещё не определено полностью, поэтому этот атрибут не имеет значения. Значения urn (MSDN).

Ссылка на внешний сайт

Создание кликабельной картинки

<a href="https://developer.mozilla.org/ru/" target="_blank">
  <img src="https://mdn.mozillademos.org/files/6851/mdn_logo.png" alt="MDN logo">
</a>
Результат:

Создания ссылки для написания письма

Создание ссылки с номером телефона

С телефонами, способными выходить в Интернет и ноутбуками, которые привязаны к телефонам, ссылки с номером телефона становятся всё больше и больше полезными.

<a href="tel:+491570156">+49 157 0156</a>

Для дополнительных деталей о протоколе tel, смотрите RFC 2806 и RFC 2396.

Использование

download для сохранения canvas как PNG

Если вы хотите позволить пользователю скачивать HTML canvas как картинку, вы можете создать ссылку с атрибутом download и данные canvas как data: URL:

var link = document.createElement("a");
link.innerHTML = 'download image';

link.addEventListener("click", function(ev) {
  link.href = canvas.toDataURL();
  link.download = "mypainting.png";
}, false);

document.body.appendChild(link);

Вы можете посмотреть на это в действии: jsfiddle.net/codepo8/V6ufG/2/.

BCD tables only load in the browser

HTML 3.2 включает в себя только name, href, rel, rev и title.

Атрибут target не работает в браузерах, не поддерживающих фреймы, таких как Netscape 1 generation. Кроме того, target не допускается в «строгих» вариантах XHTML, но разрешён в формах frameset или «переходных» формах.

Рекомендации по JavaScript

Часто якорь используется с событием onclick. Для избежания обновления страницы, href часто устанавливается на #, либо на javascript:void(0). Оба этих значения могут привести к некоторым неожиданным ошибкам во время копирования ссылки или открытия ссылки в новой вкладке или окне. Помните об этом, чтобы сделать юзабилити удобнее, когда пользователи используют якори и вы не допускаете стандартного поведения.

  • Другие элементы: <abbr>, <em>, <strong>, <small> (en-US), <cite>, <q> (en-US), <dfn>, <time>, <code>, <var> (en-US), <samp> (en-US), <kbd>, <sub> (en-US), <sup> (en-US), <b>, <i> (en-US), <mark>, <ruby>, <rp> (en-US), <rt> (en-US), <bdo>, <span>, <br>, <wbr>.

10 ЛУЧШИХ отелей Atlas Hotels в Тель-Авиве, Израиль

  • Physical Clinic Massage Therapy: какие oтели Atlas Hotels поблизости самые лучшие?

    Physical Clinic Massage Therapy: некоторые популярные oтели Atlas Hotels поблизости:

  • Международный аэропорт Бен-Гурион: какие oтели Atlas Hotels находятся поблизости?

    Международный аэропорт Бен-Гурион: эти oтели Atlas Hotels находятся поблизости:

    Yam Hotel — Оценка путешественников: 5.0/5

  • Тель-Авив: какие oтели Atlas Hotels здесь самые лучшие?

    Лучшие oтели Atlas Hotels в г. Тель-Авив:

    Yam Hotel — Оценка путешественников: 5.0/5

  • Какие oтели Atlas Hotels в г. Тель-Авив предлагают номера с отдельным балконом?

    oтели Atlas Hotels в г. Тель-Авив, гости которых могут воспользоваться отдельным балконом:

    Yam Hotel — Оценка путешественников: 5.0/5

  • Какие oтели Atlas Hotels в г. Тель-Авив предлагают номера с прекрасными видами?

    Эти oтели Atlas Hotels в г. Тель-Авив предлагают прекрасные виды и являются популярными среди путешественников:

    Yam Hotel — Оценка путешественников: 5.0/5

  • Какие oтели Atlas Hotels в г. Тель-Авив можно описать как романтические?

    Эти oтели Atlas Hotels в г. Тель-Авив были описаны другими путешественниками как романтические:

    Yam Hotel — Оценка путешественников: 5.0/5

  • Тель-Авив: какие oтели Atlas Hotels здесь подходят для семейного отдыха?

    Отдыхающим семьями понравились эти oтели Atlas Hotels в г. Тель-Авив:

  • Какие oтели Atlas Hotels в г. Тель-Авив предлагают возможность проживания домашних животных?

    Эти oтели Atlas Hotels в г. Тель-Авив обычно предлагают возможность проживания домашних животных:

    Всегда лучше заранее позвонить и уточнить политику отеля в отношении домашних животных.

  • Есть ли в г. Тель-Авив oтели Atlas Hotels с бесплатным завтраком?

    oтели Atlas Hotels с бесплатным завтраком в г. Тель-Авив:

  • Какие 4-звездочные oтели Atlas Hotels в г. Тель-Авив являются популярными?

    Эти 4-звездочные oтели Atlas Hotels в г. Тель-Авив предлагают путешественникам насладиться высококлассным отдыхом:

  • Сервис | Автомобильные видеорегистраторы «AdvoCam»

    ул. Бориса Галушкина, д.19 корп.2TechnoSpace+7(495)147-47-87technosp.ru
    ул. Марата, д.43 лит.А, помещение 4-HООО ‘Тех Центр’+7(812)404-67-88http://www.tcspb.ru/
    ул. Ефимова, д.1/4 литера АХороший сервис+7(812)337-59-29, +7(800)555-47-35service.goodcom.ru
    ул. Вяткина, д.63Слайдер+7(390)232-63-32, +7(950)303-38-32https://slaider.org/
    ул. Крылова, д.45Слайдер+7(800)201-90-35https://slaider.org/
    ул. Ленина, д.31ООО «ЭКСПРЕСС»+7(917)267-58-11отсутствует
    ул. Ленина, д.68ООО «ЭКСПРЕСС»+7(919)648-93-35отсутствует
    257 квартал, д.10ЭкраТех+7(395)561-46-14https://www.685-800.ru/
    ул.пр-т Ленина, д.144, ДТ«МИР»‘ССК Сервис’+7(831)472-43-12http://ssk-sc.ru/
    ул. Ташкентская, д.13БСервисный центр Hi-Tech+7(851)223-83-10http://arss.ru/
    ул. Пионерская, д.18ООО «ЭКСПРЕСС»+7(917)267-58-64отсутствует
    ул. Шумакова, д.17AMobiLand Service+7(385)250-08-37, +7(963)505-82-44www.mobi-land.ru
    проспект Ленина, д.195АС Сервис+7(385)220-01-04, +7(385)220-19-11http://service22.ru/
    проспект Славы, д.76OLDLAB+7(472)236-44-73http://oldlab.ru/
    ул. Ильи Мухачева, д.200MobiLand Service+7(385)432-99-70, +7(961)982-91-11www.mobi-land.ru
    ул. Шолом-Алейхема, д.12GSM-Сервис+7(426)222-38-70http://gsm79.ru/
    ул. Зейская, д.126, помещение 25002ООО ‘Аксиома’+7(416)221-33-21, +7(962)294-13-44отсутствует
    ул. Амурская, д.180Сервис Плюс+7(914)581-60-00http://service28.ru
    ул. Южная, д.18А, 112Сервисный центр ‘Ремком’+7(904)122-51-68https://remkombratsk.ru/
    ул. Дуки, д.75СервисТел+7(483)240-50-50, +7(953)288-88-08www.ascservistel.ru
    ул. Советская, д.56, помещение 3ООО «ЭКСПРЕСС»+7(987)183-74-33отсутствует
    Проспект 100 лет Владивостоку, д.42а, бутик 46Hi-Tech Service+7(423)222-81-77отсутствует
    ул. Асаткина, д.9i.service+7(492)253-73-94, +7(492)253-73-24www.iservice-it.ru
    ул. Ангарская, д.17Сервисный центр VPS+7(844)245-94-69http://service-vps.ru/
    Проспект Ленина, д.15СМТел Волгоград+7(962)760-01-04wwww.smtel34.ru
    ул. Богунская, д.8Народный Компьютер+7(844)273-66-81http://narcomp.ru/
    бульвар 30-летия Победы, д.16АМобильный сервис ЮГ+7(844)298-23-28www.mc34.ru
    ул. Профсоюзная, д.12Таймсервис+7(844)298-03-33www.timeservice.ru
    проспект Строителей, д.2ВТаймсервис+7(863)923-98-73www.timeservice.ru
    ул. Северная, д.34АЦ «Пионер Сервис»+7(817)227-24-13http://pioneer-service.ru/
    ул. Донбасская, д.1ВТТЦ «Орбита-сервис»+7(473)202-66-70, +7(473)202-66-75http://orbitavrn.ru
    ул. Ахмадиева, д.31ООО «ЭКСПРЕСС»+7(917)904-43-02отсутствует
    ул.Октябрьская, д.63АСЦ « ЭлКом Сервис»+7(842)352-86-59отсутствует
    ул. Союзная, д.2ООО «Юником Урал»+7(343)201-50-70отсутствует
    ул. Красных Командиров, д.12Т-Сервис+7(343)201-90-09тсервис-екатеринбург.рф
    пр.Мира, д.25ООО «ЭКСПРЕСС»+7(917)267-58-71отсутствует
    Пр. Нефтяников, д.23аООО «ЭКСПРЕСС»+7(917)267-58-73отсутствует
    пр. Ленина, д.108, офис 3-11Спектр-Сервис+7(493)250-13-29spectr-service.ru
    ул. Пушкинская, д.136А, офис 9БытТехСервис+7(341)265-56-44http://bts18.ru/
    улица 5-й Армии, д.31ЭкраТех+7(395)268-58-00https://www.685-800.ru/
    ул. Советская, д.45а, офис 1АЛЬТЕКС+7(395)224-08-40, +7(395)229-42-95http://altex-irk.ru
    ул.Чехова, д.23Б, офис 2Хайтек Мобайл Сервис+7(395)220-45-67, +7(395)220-33-57, +7(395)220-12-53http://hitech-mobile.ru/
    ул. Советская, д.141Проноут+7(836)299-36-46, +7(836)235-55-54www.yoshkar-ola.pronote.ru
    ул. Советская, д.173Мидас+7(836)245-73-68, +7(836)241-77-43http://www.asc-midas.ru/
    ул. Васильченко, д.1 корп.153, оф.242Сервисный центр ‘Элнет’+7(843)207-12-13elnet-service.ru
    ул.Маршала Чуйкова, д.63аТЕХХАУС+7(843)200-90-00https://it-th.ru/
    ул.Третьяковская , д.дом 8а литер б, 6СОХО+7(401)297-11-45, +7(401)297-11-43отсутствует
    Московский пр-т, д.163СЦ ‘1000 мелочей’+7(401)276-04-77, +7(401)258-83-54отсутствует
    ул. Красная, д.21Компьютерные системы+7(961)726-36-56http://service.kscom.ru/
    пр-т Октябрьский, д.38Сервисная компания СМАРТ+7(384)235-11-11, +7(384)276-01-00http://www.service-smart.ru/
    ул. Кирова, д.14, офис 12Компьютер Мастер+7(384)236-00-12, +7(384)276-30-99http://www.km42.pro/
    ул. Преображенская, д.67Мобильный сервис+7(833)264-02-70http://www.mob-serviscentr43.ru/
    Хлебозаводской проезд, д.3Квадрат-Сервис+7(833)275-45-55, +7(922)995-28-18www.kvadrat-service.ru
    ул. Свердлова, д.66ООО ‘Компас сервис’+7(494)237-22-18www.mirgsm-k.ru
    ул. Жлобы, д.139Альфа-Сервис Юг+7(800)511-96-93, +7(918)988-88-02http://www.alfa-ug.ru/
    ул. Красная, д.174Таймсервис+7(861)242-46-88www.timeservice.ru
    ул. Федора Лузана, д.6, комн.5IT LAB+7(861)299-98-00, +7(961)594-55-22, +7(861)247-52-62, +7(918)126-46-46https://it-lab23.ru/
    ул. Карякина, д.15IT LAB+7(861)299-98-00https://it-lab23.ru/
    ул.Березанская, д.88ПКФ ‘Юг-Сервис’+7(861)274-53-78, +7(861)274-53-46, +7(861)274-19-61, +7(861)255-22-07http://www.yugservis.ru/
    ул.Железнодорожников, д.11ДОН-ТВ СЕРВИС+7(391)234-74-55http://www.don-tv.ru
    ул. Весны, д.2AppStory+7(391)282-09-92отсутствует
    ул. Спандаряна, д.7, офис 1-02Электроальянс+7(902)923-54-33отсутствует
    ул. Горького, д.37Первый сервис+7(391)215-53-35http://www.krs-sc.ru/
    ул. Циолковского, д.22ИП Мигунова Т.В.+7(831)765-09-92, +7(910)888-86-71отсутствует
    ул. Радионова, д.56Максима-Сервис+7(473)202-66-70, +7(473)235-58-54www.максима-сервис.рф
    ул. Дзержинского, д.40, пав.18ООО ‘ТКС 2000’+7(471)239-03-97http://www.fitkursk.ru
    ул. Куйбышева, д.28аООО «ЭКСПРЕСС»+7(987)415-53-75отсутствует
    Неделина, д.32, 19Центрмобайл+7(951)307-11-11www.cm-store.ru/shop
    ул. Мичурина, д.46ИП Соболев Г.Ю.+7(474)240-10-72отсутствует
    пр. Ленина, д.51Сервисный Центр ‘РЕАЛ’+7(351)943-93-47отсутствует
    ул. Азина, д.27аООО «ЭКСПРЕСС»+7(919)648-94-66отсутствует
    ул. Коммунистическая, д.10аООО «ЭКСПРЕСС»+7(917)275-27-09отсутствует
    ул. Гоголя, д.4АмигоСервис+7(962)441-08-18www.amigoservis.ru
    ул. Пушкина, д.50ООО «ЭКСПРЕСС»+7(917)904-42-94отсутствует
    пр. Мира, д.24, 7/20ООО «ЭКСПРЕСС»+7(937)571-74-55отсутствует
    пр-кт Вахитова, д.20Сервисный центр ТриО+7(855)235-90-02, +7(960)072-57-10www.trio-sc.ru
    пр. Яшьлек, д.д.14Сервисный центр ‘РСТ’+7(855)231-13-11http://www.service-rst.ru/
    пр. Химиков, д.90ТЕХХАУС+7(855)536-77-13https://it-th.ru/
    ул.Невская, д.23Галактика+7(831)243-06-06http://www.galaktika-nn.ru/
    Салганская, д.30, 3‘ФОРТ-НН’+7(831)220-04-31отсутствует
    ул. Арзамасская, д.3СМТел НН+7(831)220-32-76, +7(831)220-32-77http://smtel.nnov.ru/
    ул.Тольятти, д.11«Техносервис-НК»+7(384)377-32-06, +7(905)904-86-00отсутствует
    ул. Ватутина, д.4/1Дельфин+7(383)209-01-81отсутствует
    ул. Мира, д.62 корп.1Мобайл-Сервис+7(383)209-28-43www.mobile-service.ru
    ул. Крылова, д.7Мобайл-Сервис+7(383)209-28-43www.mobile-service.ru
    ул. Вокзальная магистраль, д.2Мобайл-Сервис+7(383)209-28-43www.mobile-service.ru
    ул. Ленина, д.1Мобайл-Сервис+7(383)209-28-43www.mobile-service.ru
    ул. Ватутина, д.27Мобайл-Сервис+7(383)209-28-43www.mobile-service.ru
    ул. Инженерная, д.5/1, офис 204QWERTY-сервис+7(383)292-56-93, +7(383)299-65-46http://3357.ru
    Ельниковский проезд, д.1ВТИ-Сервис+7(835)270-95-55вти-сервис.рф
    ул. К.Маркса, д.8ООО «ЭКСПРЕСС»+7(917)267-59-81отсутствует
    ул. Декабристов, д.45НТ-Сервис+7(381)255-99-96, +7(381)233-19-91http://new-phone.ru/
    ул. Комсомольская, д.62, ТЦ «Пассаж»Ультра+7(486)244-12-34отсутствует
    ул. Революции, д.5ООО «АРС»+7(486)255-08-34, +7(486)255-15-06, +7(953)812-00-88, +7(953)812-00-77www.arscomp.ru
    ул. Московская, д.100ООО «АРС»+7(486)255-08-34, +7(486)255-15-06www.arscomp.ru
    ул. Салмышская, д.45, пом.2ТОП-СЕРВИС+7(353)250-70-30http://galaxy2000.ru/
    ул. Победы, д.23АСЦ Лидер+7(384)714-21-27, +7(960)912-04-46отсутствует
    ул. Кураева, д.1А‘Арсенал-Сервис’+7(841)252-19-21отсутствует
    ул.Карпинского, д.45Максимум Сервиса+7(841)220-60-90, +7(927)375-06-50http://max-of-service.ru
    ул. Кулакова, д.2Мир Сервиса+7(841)239-07-40www.mspenza.ru
    ул. Революции, д.18СМТел+7(342)258-18-18, +7(342)212-37-07www.sm-tel.ru
    ул. Крисанова, д.29Евросервис+7(342)236-30-33http://esperm.ru/
    ул.Гоголя, д.5РСС Петрозаводск+7(814)263-63-32www.rss.ru
    ул.Пароменская, д.21/33СЦ ‘Все для ПК Сервис’+7(921)211-71-61, +7(811)256-22-24http://www.vpk-service.ru/
    ул. К. Хетагурова, д.10Форте-Сервис+7(879)339-10-80, +7(879)339-46-14, +7(928)371-33-00, +7(988)866-34-21http://www.servicekmv.ru/
    ул. Евдокимова, д.д.37гСЦ «Максим-Сервис»+7(863)250-47-77отсутствует
    проспект Космонавтов, д.43Оптима-сервис+7(863)230-31-31, +7(961)280-31-31http://optima-sc.ru
    ул. 2-ая Краснодарская, д.145ДОптима-сервис+7(952)416-07-89http://optima-sc.ru
    ул. Моторостроителей, д.21Техносервис+7(485)524-31-21, +7(901)485-64-88http://76rem.ru
    ул. Ленина, д.2/68Элекс+7(491)251-05-05отсутствует
    ул. Новоселов, д.21аЭлекс+7(491)251-05-05отсутствует
    Площадь 50-летия Октября, д.2 стр.1Элекс+7(491)251-05-05отсутствует
    Московское ш., д.33БЭлекс+7(491)251-05-05отсутствует
    ул. Станкозаводская, д.31Элекс+7(491)251-05-05отсутствует
    ул. Советской Армии, д.180/1, офис 806СамТехСервис+7(846)273-49-00, +7(964)982-51-88www.самтехсервис.рф
    19км Московского шоссе, 1 квартал, д.3ООО ‘ВСС’+7(846)225-12-73отсутствует
    ул. Ленинская, д.56/100, комн.33Спец-Мастер+7(846)990-37-51http://spec-master-samara.ru/
    ул. Дыбенко, д.27АЦ «Пионер Сервис»+7(846)221-63-33http://pioneer-service.ru/
    ул. Съездовская, д.10ААЦ «Пионер Сервис»+7(846)991-89-02, +7(960)810-17-00http://pioneer-service.ru/
    Степана Разина, д.42РСС Саранск+7(834)247-60-64www.asc-saransk.ru
    Московская, д.57Сервис М+7(845)239-39-36отсутствует
    ул. Вавилова, д.8/26АТаймсервис+7(845)246-20-50www.timeservice.ru
    ул. Кутякова, д.41/59Саратовремонт+7(845)270-54-52отсутствует
    ул. Воронина, д.10/1-1ОС Компонент+7(869)254-00-00, +7(978)832-30-02http://os-service.com/
    ул. Ломоносова, д.73КСервис+7(818)450-15-77, +7(921)482-00-01отсутствует
    ул. Горького, д.30Таймсервис+7(365)277-70-43www.timeservice.ru
    ул. Екатерининская (Карла Маркса), д.13/16ОС Компонент+7(365)254-62-23http://os-service.com/
    ул. Тенишевой, д.19ВИКТОРИЯ СЕРВИС+7(481)256-25-62http://service67.ru/
    ул. Московская, д.19Таймсервис+7(862)236-06-56www.timeservice.ru
    ул. Ленина, д.468К-Сервис+7(865)256-70-95www.K-service26.ru
    пр-кт Октябрьский, д.141Хороший сервис+7(800)555-47-35service.goodcom.ru
    ул. Пушкарская, д.58/1Юнит-Сервис+7(475)247-70-32, +7(475)247-14-56, +7(964)130-70-70www.unit-servis.ru
    пр-т Калинина , д.8Мобайл Сервис+7(482)242-71-80отсутствует
    проспект Победы, д. 2 корп.2Капитал Сервис+7(930)155-05-25отсутствует
    Дзержинского , д.76АБВИР+7(848)274-14-71отсутствует
    пр-т Комсомольский, д.46Компьютерные системы+7(961)861-55-33, +7(909)543-97-75http://service.kscom.ru/
    ул. Учебная, д.26Электроника Сервис 2000+7(382)242-13-60, +7(382)254-35-49https://es2000.tomsk.ru/
    пр. Ленина, д.97Jet-Сервис+7(487)233-54-88, +7(487)233-73-83http://www.jet-service71.ru/
    ул. Михаила Сперанского, д.17Компьютерная клиника №722+7(345)249-50-06, +7(912)923-26-12http://www.72svs.ru
    ул. Марата, д.39ООО ‘СКАЛА’+7(842)241-74-70, +7(960)378-05-03http://skala-ul.ru/
    ул. Шамкина, д.43аООО «ЭКСПРЕСС»+7(917)267-59-58отсутствует
    ул. Бакалинская, д.25Кламас+7(347)200-84-08www.klamas-sc.ru
    ул. Менделеева, д.23/2АРТМобилком+7(347)291-28-34, +7(347)246-04-66www.artmobil.ru
    ул. Менделеева, д.153Сервисный центр ‘Дженерал’+7(347)298-90-70http://www.generalsc.ru
    ул. Дикопольцева, д.60СЦ Интегратор+7(924)917-01-01отсутствует
    ул. Карла Маркса, д.59Сервисный центр «Электроник»+7(924)211-04-04https://www.elektronik-russia.ru/
    ул. Ворошилова, д.29БСервисный центр «Электроник»+7(924)211-04-04https://www.elektronik-russia.ru/
    ул. Ледовая, д.5Альфа-Сервис+7(346)730-00-01, +7(346)730-00-05, +7(346)738-88-85отсутствует
    пр. И.Яковлева, д.4/2, 112ВТИ-Сервис+7(835)270-95-55вти-сервис.рф
    пр. М.Горького, д.32/25ВТИ-Сервис+7(835)270-95-55вти-сервис.рф
    проспект Тракторостроителей, д.36/1ВТИ-Сервис+7(835)270-95-55вти-сервис.рф
    ул. Композиторов Воробьёвых, д.16Центр сервис+7(835)262-74-74отсутствует
    ул. Калинина, д.91к1ООО «Альфа-Коннект» DIXON+7(835)236-42-02https://dixon-sc.ru/
    ул. Воровского, д.47АПИКОМ+7(351)232-70-31http://www.apicom.ru/
    проспект Ленина, д.61, помещение 8АйСервис+7(351)750-45-31, +7(922)750-45-31отсутствует
    ул. Ленина, д.32аООО «ЭКСПРЕСС»+7(917)904-41-46отсутствует
    ул. Шилова, д.35А, офис 4Сервисный центр Okey+7(302)240-12-02http://okeyservis.ru/
    ул.Лисицына, д.5, офис 112Сервис#112+7(485)259-40-16, +7(485)259-40-17отсутствует

    Type tel значение телефона атрибут поля ввода input

    Тип «tel» — телефон(телефонный номер). Что такое type tel html, Type tel — это одно из значений тега input, предназначено для ввода телефонного номера по шаблону «pattern».

    Тип телефон в поле ввода input

    1. Что такое type tel html,
    2. Пример использования type tel.
    1. Что такое

      type tel html.

      У поля ввода есть типы передаваемых данных type, с разными значениями input

      Одно из таких значении : «type tel» — который предназначен для ввода телефонного номера.

      Синтаксис

      type tel html.

      <input type=»tel»>

      Характеристики типа tel :

      «type tel» — это поле предназначено для ввода номера телефона.
      Кроме самого атрибута type со значением tel необходимо использовать формат телефонного номера, это атрибут «pattern»

      pattern=»[0-9]{1}-[0-9]{3}-[0-9]{3}»

      Как использовать данный

      type tel на сайте.

      HTML :

      Кроме поле ввода , мы можем добавит вовнутрь подсказку placeholder:

      Понадобится форма form.

      <form method=»post»>
      <input name=»phone» type=»tel» pattern=»[0-9]{1}-[0-9]{3}-[0-9]{3}» placeholder=»Номер телефона»>
      <input name=»phone_submit» type=»submit» value=»Отправить»>
      </form>

      И еще одно поле ввода с другим типом submit

      PHP :

      Вам потребуется метод post.

    2. Пример использования

      type tel.

      Простое условие, по которому будем получать телефонный номер из поля с типом type tel

      if($_POST[‘phone_submit’]) { $result = ‘Вы нажали кнопку отправить submit, переданное значение : ‘.strip_tags($_POST[‘phone’]) ;}

      echo $result;

      Соберем весь код вместе для type tel:
      Html :

      <form method=»post»>
      <input name=»phone» type=»tel» pattern=»[0-9]{1}-[0-9]{3}-[0-9]{3}» placeholder=»Номер телефона»>
      <input name=»phone_submit» type=»submit» value=»Отправить»>
      </form>

      Php :

      if($_POST[‘phone_submit’]) { $result = ‘Вы нажали кнопку отправить submit, переданное значение : ‘.strip_tags($_POST[‘phone’]) ;}

      echo $result;

      Результат:

      Введите номер телефона по шаблону, либо не по шаблону type tel и нажмите отправить:

    Пользуйтесь на здоровье! Не забудьте сказать спасибо

    Сообщение системы комментирования :

    01.09.2021

    Форма пока доступна только админу… скоро все заработает…надеюсь…

    Расчёт частоты резонанса колебательного контура

    Колебательный контур — электрическая цепь, в которой могут возникать колебания с частотой, определяемой параметрами цепи.

    Простейший колебательный контур состоит из конденсатора и катушки индуктивности, соединенных параллельно или последовательно.

    — Конденсатор C – реактивный элемент. Обладает способностью накапливать и отдавать электрическую энергию.
    — Катушка индуктивности L – реактивный элемент. Обладает способностью накапливать и отдавать магнитную энергию.

    Рассмотрим, как возникают и поддерживаются свободные электрические колебания в параллельном контуре LC.

    Основные свойства индуктивности

    — Ток, протекающий в катушке индуктивности, создаёт магнитное поле с энергией .
    — Изменение тока в катушке вызывает изменение магнитного потока в её витках, создавая в них ЭДС, препятствующую изменению тока и магнитного потока.

    Природа электромагнитных колебаний в контуре

    Период свободных колебаний контура LC можно описать следующим образом:

    Если конденсатор ёмкостью C заряжен до напряжения U, потенциальная энергия его заряда составит.
    Если параллельно заряженному конденсатору подключить катушку индуктивности L, в цепи пойдёт ток разряда конденсатора, создавая магнитное поле в катушке.

    Внешний магнитный поток создаст ЭДС в направлении противоположном току в катушке, что будет препятствовать нарастанию тока в каждом витке, поэтому конденсатор разрядится не мгновенно, а через время t1,
    которое определяется индуктивностью катушки и ёмкостью конденсатора из расчёта t1 = .
    По истечении времени t1, когда конденсатор разрядится до нуля, ток в катушке и магнитная энергия будут максимальны.
    Накопленная катушкой магнитная энергия в этот момент составит.
    В идеальном рассмотрении, при полном отсутствии потерь в контуре, EC будет равна EL.
    Таким образом, электрическая энергия конденсатора перейдёт в магнитную энергию катушки.

    Далее изменение (уменьшение от максимума) магнитного потока накопленной энергии катушки будет создавать в ней ЭДС,
    которая продолжит ток в том же направлении и начнётся процесс заряда конденсатора индукционным током. Уменьшаясь от максимума до нуля в течении времени t2 = t1, он перезарядит конденсатор от нулевого до максимального отрицательного значения (-U).
    Так магнитная энергия катушки перейдёт в электрическую энергию конденсатора.

    Описанные интервалы t1 и t2 составят половину периода полного колебания в контуре.
    Во второй половине процессы аналогичны, только конденсатор будет разряжаться от отрицательного значения, а ток и магнитный поток сменят направление.
    Магнитная энергия вновь будет накапливаться в катушке в течении времени t3, сменив полярность полюсов.

    В течении заключительного этапа колебания (t4),
    накопленная магнитная энергия катушки зарядит конденсатор до первоначального значения U
    (в случае отсутствия потерь) и процесс колебания повторится.

    В реальности, при наличии потерь энергии на активном сопротивлении проводников,
    фазовых и магнитных потерь, колебания будут затухающими по амплитуде.
    Время t1 + t2 + t3 + t4 составит период колебаний .
    Частота свободных колебаний контура ƒ = 1 / T

    Частота свободных колебаний является частотой резонанса контура,
    на которой реактивное сопротивление индуктивности XL=2πfL равно реактивному сопротивлению ёмкости XC=1/(2πfC).


    Расчёт частоты резонанса

    LC-контура:

    Предлагается простой онлайн-калькулятор для расчёта резонансной частоты колебательного контура.

    Необходимо вписать значения и кликнуть мышкой в таблице.
    При переключении множителей автоматически происходит пересчёт результата.

    Расчёт частоты:

    Частота резонанса колебательного контура LC.
    ƒ = 1/(2π√(LC))


    Расчёт ёмкости:

    Ёмкость для колебательного контура LC
    C = 1/(4𲃲L)


    Расчёт индуктивности:

    Индуктивность для колебательного контура LC
    L = 1/(4𲃲C)



    Похожие страницы с расчётами:

    Рассчитать импеданс.

    Рассчитать реактивное сопротивление.

    Рассчитать реактивную мощность и компенсацию.

    — HTML: язык разметки гипертекста

    элемента типа tel используются, чтобы позволить пользователю вводить и редактировать номер телефона. В отличие от и , входное значение не проверяется автоматически на определенный формат перед отправкой формы, потому что форматы телефонных номеров сильно различаются мир.

    Несмотря на то, что входы типа tel функционально идентичны стандартным входам text , они действительно служат полезным целям; наиболее быстро очевидным из них является то, что мобильные браузеры — особенно на мобильных телефонах — могут предпочесть специальную клавиатуру, оптимизированную для ввода телефонных номеров.Использование определенного типа ввода для телефонных номеров также делает добавление настраиваемой проверки и обработки телефонных номеров более удобными.

    Примечание. Браузеры, не поддерживающие тип tel , возвращаются к стандартному вводу текста.

    Значение DOMString , представляющая номер телефона, или
    пустой
    События изменить и
    вход
    Поддерживаемые общие атрибуты автозаполнение ,
    лист ,
    макс. Длина ,
    мин. Длина ,
    узор ,
    заполнитель ,
    только для чтения и
    размер
    Атрибуты IDL список , selectionStart ,
    Выбор , конец , выбор , направление и
    значение
    Методы выберите () ,
    setRangeText () ,
    setSelectionRange ()

    Атрибут значения элемента содержит DOMString , который либо представляет номер телефона, либо является пустой строкой ( "" ).

    В дополнение к атрибутам, которые работают со всеми элементами , независимо от их типа, входы телефонных номеров поддерживают следующие атрибуты.

    список

    Значения атрибута списка — это id элемента , расположенного в том же документе. предоставляет список предопределенных значений, которые можно предложить пользователю для этого ввода. Любые значения в списке, несовместимые с типом , не включаются в предлагаемые варианты.Предоставленные значения являются предложениями, а не требованиями: пользователи могут выбрать из этого предопределенного списка или указать другое значение.

    maxlength

    Максимальное количество символов (в единицах кода UTF-16), которое пользователь может ввести в поле телефонного номера. Это должно быть целое число 0 или больше. Если не указана максимальная длина или указано недопустимое значение, поле телефонного номера не имеет максимальной длины. Это значение также должно быть больше или равно значению minlength .

    Входные данные не пройдут проверку ограничения, если длина текста, введенного в поле, превышает maxlength единиц кода UTF-16.

    minlength

    Минимальное количество символов (в единицах кода UTF-16), которое пользователь может ввести в поле телефонного номера. Это должно быть неотрицательное целое число, меньшее или равное значению, заданному параметром maxlength . Если не указана минимальная длина или указано недопустимое значение, ввод телефонного номера не имеет минимальной длины.

    Поле телефонного номера не пройдет проверку ограничения, если длина текста, введенного в поле, меньше minlength UTF-16 кодовых единиц.

    шаблон

    Атрибут шаблона , если он указан, представляет собой регулярное выражение, которому должно соответствовать входное значение , чтобы значение прошло проверку ограничения. Это должно быть допустимое регулярное выражение JavaScript, используемое типом RegExp и описанное в нашем руководстве по регулярным выражениям; флаг 'u' указывается при компиляции регулярного выражения, так что шаблон обрабатывается как последовательность кодовых точек Unicode, а не как ASCII.Вокруг текста шаблона не следует указывать косую черту.

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

    Примечание: Используйте атрибут title , чтобы указать текст, который большинство браузеров будет отображать как всплывающую подсказку, чтобы объяснить, какие требования должны соответствовать шаблону. Вы также должны включить рядом другой пояснительный текст.

    Подробности и пример см. В разделе «Проверка шаблона» ниже.

    заполнитель

    Атрибут заполнителя — это строка, которая дает пользователю краткую подсказку относительно того, какая информация ожидается в поле. Это должно быть слово или короткая фраза, демонстрирующая ожидаемый тип данных, а не пояснительное сообщение. Текст не должен содержать символов возврата каретки или перевода строки.

    Если содержимое элемента управления имеет одну направленность (LTR или RTL), но должно представлять заполнитель в противоположной направленности, вы можете использовать символы форматирования двунаправленного алгоритма Unicode, чтобы переопределить направленность внутри заполнителя; см. Переопределение двунаправленного текста с помощью управляющих символов Unicode в Алгоритме двунаправленного текста Unicode для этих символов.

    только для чтения

    Логический атрибут, который, если он присутствует, означает, что это поле не может редактироваться пользователем. Однако его значение все еще можно изменить с помощью кода JavaScript, напрямую установив свойство HTMLInputElement value .

    Примечание: Поскольку поле только для чтения не может иметь значения, требуется не оказывает никакого влияния на входы с указанным атрибутом только для чтения .

    размер

    Атрибут размер — это числовое значение, указывающее, сколько символов должно быть в поле ввода.Значение должно быть числом больше нуля, а значение по умолчанию — 20. Поскольку ширина символов различается, это может быть, а может и нет, и на это не следует полагаться; результирующий ввод может быть уже или шире, чем указанное количество символов, в зависимости от символов и шрифта ( шрифт используемые настройки).

    Это означает, что , а не , устанавливает ограничение на количество символов, которые пользователь может ввести в поле. Он лишь приблизительно указывает, сколько людей можно увидеть одновременно.Чтобы установить верхний предел длины входных данных, используйте атрибут maxlength .

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

    автозамена

    Расширение Safari, атрибут автозамены — это строка, которая указывает, следует ли активировать автоматическое исправление, когда пользователь редактирует это поле. Допустимые значения:

    по

    Включить автоматическое исправление опечаток, а также обработку замен текста, если они настроены.

    оф.

    Отключить автоматическое исправление и замену текста.

    mozactionhint

    Расширение Mozilla, поддерживаемое Firefox для Android, которое дает подсказку о том, какое действие будет выполнено, если пользователь нажмет клавишу Enter или Return при редактировании поля. Эта информация используется, чтобы решить, какую метку использовать на клавише Enter на виртуальной клавиатуре.

    Допустимые значения: перейти , выполнить , следующий , поиск и отправить . Используя эту подсказку, браузер решает, какую метку поставить на клавишу ввода.

    Телефонные номера — это очень часто собираемый тип данных в Интернете. Например, при создании любого типа сайта регистрации или электронной коммерции вам, вероятно, потребуется спросить у пользователя номер телефона, будь то для деловых целей или для связи в чрезвычайных ситуациях. Учитывая, насколько часто вводятся телефонные номера, очень жаль, что универсальное решение для проверки номеров телефонов нецелесообразно.

    К счастью, вы можете учесть требования своего сайта и самостоятельно реализовать соответствующий уровень проверки. См. Подробности в разделе «Валидация» ниже.

    Пользовательские клавиатуры

    Одним из основных преимуществ является то, что он заставляет мобильные браузеры отображать специальную клавиатуру для ввода телефонных номеров. Например, вот как выглядят клавиатуры на нескольких устройствах.

    Firefox для Android WebKit iOS (Safari / Chrome / Firefox)

    Простой ввод тел.

    В своей основной форме ввод тел. Может быть реализован следующим образом:

      
    
      

    Здесь не происходит ничего волшебного.При отправке на сервер указанные выше входные данные будут представлены как, например, telNo = + 12125553151 .

    Заполнители

    Иногда бывает полезно предложить контекстную подсказку о том, какую форму должны принимать входные данные. Это может быть особенно важно, если дизайн страницы не предлагает описательных меток для каждого . Здесь на помощь приходит заполнителей . Заполнитель — это значение, которое демонстрирует форму, которую должно принимать значение , представляя пример допустимого значения, которое отображается внутри поля редактирования, когда значение элемента равно "" .После ввода данных в поле заполнитель исчезает; если поле пусто, заполнитель появляется снова.

    Здесь у нас есть ввод tel с заполнителем 123-4567-8901 . Обратите внимание, как заполнитель исчезает и появляется снова, когда вы манипулируете содержимым поля редактирования.

      
      

    Управление размером ввода

    Вы можете контролировать не только физическую длину поля ввода, но также минимальную и максимальную длину, разрешенную для самого вводимого текста.

    Физический размер входного элемента

    Физическим размером поля ввода можно управлять с помощью атрибута size . С его помощью вы можете указать количество символов, которое поле ввода может отображать одновременно. В этом примере, например, поле редактирования tel имеет ширину 20 символов:

      
      
    Длина значения элемента

    Размер не связан с ограничением длины введенного телефонного номера.Вы можете указать минимальную длину в символах для введенного телефонного номера с помощью атрибута minlength ; аналогично используйте maxlength , чтобы установить максимальную длину введенного телефонного номера.

    В приведенном ниже примере создается поле ввода телефонного номера шириной в 20 символов, при этом требуется, чтобы его содержимое было не короче 9 и не длиннее 14 символов.

      
      

    Примечание: Приведенные выше атрибуты действительно влияют на валидацию — входные данные в приведенном выше примере будут считаться недопустимыми, если длина значения меньше 9 или больше 14 символов.Большинство браузеров даже не позволяют вводить значение, превышающее максимальную длину.

    Предоставление параметров по умолчанию

    Предоставление единого значения по умолчанию с использованием атрибута значения

    Как всегда, вы можете указать значение по умолчанию для поля ввода tel , установив его значение attribute:

      
      
    Предлагаемые значения

    Идя дальше, вы можете предоставить список значений телефонных номеров по умолчанию, из которых пользователь может выбирать.Для этого используйте атрибут list . Это не ограничивает пользователя этими параметрами, но позволяет им быстрее выбирать часто используемые телефонные номера. Это также предлагает подсказки для автозаполнения . Атрибут list определяет идентификатор элемента , который, в свою очередь, содержит один элемент для каждого предлагаемого значения; значение для каждой опции — это соответствующее рекомендуемое значение для поля ввода телефонного номера.

      
    
    
    
      
      

    При наличии элемента и его s браузер предложит указанные значения в качестве возможных значений для адреса электронной почты; обычно это отображается как всплывающее или раскрывающееся меню, содержащее предложения.Хотя конкретный пользовательский интерфейс может отличаться от одного браузера к другому, обычно щелчок в поле редактирования представляет раскрывающийся список предлагаемых адресов электронной почты. Затем, по мере того, как пользователь вводит текст, список корректируется, чтобы отображать только отфильтрованные совпадающие значения. Каждый набранный символ сужает список до тех пор, пока пользователь не сделает выбор или не введет настраиваемое значение.

    Вот скриншот того, как это может выглядеть:

    Как мы уже говорили ранее, довольно сложно предоставить универсальное решение для проверки телефонных номеров на стороне клиента.Так что мы можем сделать? Рассмотрим несколько вариантов.

    Предупреждение. Проверка HTML-формы — это , а не , заменяющий серверные сценарии, которые гарантируют, что введенные данные находятся в правильном формате, прежде чем они будут разрешены в базе данных. Для кого-то слишком легко внести изменения в HTML, которые позволят им обойти проверку или полностью удалить ее. Также есть возможность полностью обойти ваш HTML и отправить данные прямо на ваш сервер. Если ваш серверный код не может проверить данные, которые он получает, может произойти катастрофа, когда в вашу базу данных будут введены неправильно отформатированные данные (или данные, которые слишком большие, неправильного типа и т. Д.).

    Создание телефонных номеров обязательными

    Вы можете сделать так, чтобы пустой ввод был недопустимым и не передавался на сервер с использованием атрибута required . Например, давайте использовать этот HTML:

      <форма>
      

    И давайте включим следующий CSS, чтобы выделить допустимые записи галочкой, а недопустимые записи крестиком:

      div {
      нижнее поле: 10 пикселей;
      положение: относительное;
    }
    
    input [type = "number"] {
      ширина: 100 пикселей;
    }
    
    input + span {
      отступ справа: 30 пикселей;
    }
    
    input: invalid + span: after {
      позиция: абсолютная; содержание: '✖';
      отступ слева: 5 пикселей;
      цвет: # 8b0000;
    }
    
    input: valid + span: after {
      позиция: абсолютная;
      содержание: '✓';
      отступ слева: 5 пикселей;
      цвет: # 009000;
    }
      

    Результат выглядит следующим образом:

    Проверка шаблона

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

    В этом примере мы будем использовать тот же CSS, что и раньше, но наш HTML изменен, чтобы выглядеть так:

      <форма>
      
    Требуется
      div {
      нижнее поле: 10 пикселей;
      положение: относительное;
    }
    
    input [type = "number"] {
      ширина: 100 пикселей;
    }
    
    input + span {
      отступ справа: 30 пикселей;
    }
    
    input: invalid + span: after {
      позиция: абсолютная; содержание: '✖';
      отступ слева: 5 пикселей;
      цвет: # 8b0000;
    }
    
    input: valid + span: after {
      позиция: абсолютная;
      содержание: '✓';
      отступ слева: 5 пикселей;
      цвет: # 009000;
    }
      

    Обратите внимание, что введенное значение сообщается как недопустимое, если не совпадает с шаблоном xxx-xxx-xxxx; например, 41-323-421 не будет принят.Не будет и 800-MDN-ROCKS. Однако 865-555-6502 будет принят. Этот конкретный шаблон, очевидно, полезен только для определенных языков — в реальном приложении вам, вероятно, придется изменять используемый шаблон в зависимости от языкового стандарта пользователя.

    В этом примере мы представляем простой интерфейс с элементом элементов, позволяющих им войти. каждая часть номера телефона; нет причин, по которым у вас не может быть нескольких входов tel .

    Каждый вход имеет атрибут заполнителя , чтобы показать подсказку зрячим пользователям о том, что в него вводить, шаблон для обеспечения определенного количества символов для желаемого раздела и атрибут aria-label , содержащий подсказка, которую нужно зачитать пользователям программы чтения с экрана, о том, что в нее ввести.

      <форма>
      

    Введите свой номер телефона:

    Требуется Требуется Требуется

    JavaScript относительно прост — он содержит обработчик событий onchange , который при изменении значения , заполнитель и aria-label чтобы соответствовать формату телефонных номеров в этой стране / территории.

      var selectElem = document.querySelector («выбрать»);
    var inputElems = document.querySelectorAll ("ввод");
    
    selectElem.onchange = function () {
      for (var i = 0; i  

    Пример выглядит так:

    Это интересная идея, которая показывает потенциальное решение проблемы работы с международными телефонными номерами.Конечно, вам нужно будет расширить пример, чтобы предоставить правильный шаблон для потенциально каждой страны, что потребовало бы много работы, и все равно не было бы надежной гарантии, что пользователи будут вводить свои номера правильно.

    Это заставляет задуматься, стоит ли возиться со всеми этими проблемами на стороне клиента, когда вы могли бы просто позволить пользователю вводить свой номер в любом формате, который они хотят на стороне клиента, а затем проверять и дезинфицировать его на сервере. Но этот выбор остается за вами.

      div {
    нижнее поле: 10 пикселей;
    положение: относительное;
    }
    
    input [type = "number"] {
      ширина: 100 пикселей;
    }
    
    input + span {
      отступ справа: 30 пикселей;
    }
    
    input: invalid + span: after {
      позиция: абсолютная; содержание: '✖';
      отступ слева: 5 пикселей;
      цвет: # 8b0000;
    }
    
    input: valid + span: after {
      позиция: абсолютная;
      содержание: '✓';
      отступ слева: 5 пикселей;
      цвет: # 009000;
    }
      

    Таблицы BCD загружаются только в браузер

    input (type = tel) элемент

    Специальные атрибуты

    автофокус

    Логическое значение, указывающее браузеру установить фокус на этот элемент управления, когда документ завершил загрузку или когда отображается диалоговое окно , в котором находится элемент управления.Если атрибут имеет значение «autofocus» или пустая строка («»), или если он просто присутствует, элемент управления должен получить фокус как можно скорее, после загрузки страницы или диалогового окна .

    Пример

      

    Введите свой телефон:

    отключен

    Логическое значение, указывающее, отключен ли элемент управления.Если атрибут принимает значение «отключен» или пустую строку («»), или если он просто присутствует, элемент управления будет отключен.

    Отключенные элементы управления отображаются серым цветом (если они видны), блокируются от взаимодействия с пользователем и, что более важно, их значения (если есть) не отправляются при отправке формы .

    Пример

      

    Телефон:

    форма

    Значение атрибута id формы, с которой связан этот элемент управления.

    Этот атрибут является новым в HTML 5 и помогает определять принадлежность элементов управления во вложенных или удаленных формах.

    Пример

      

    Телефон:

    список

    Маркер, соответствующий значению атрибута id списка данных , с которым связан этот элемент управления.Список данных , на который ссылается этот атрибут, предоставит ряд предложений, которые пользователи могут выбрать для автозаполнения элемента управления.

    Браузер поддерживает datalist не полностью. Авторам, возможно, придется полагаться на скрипты, чтобы обеспечить кроссбраузерность этой функциональности.

    Пример

      

    Контактный номер:

    макс. Длина

    Целое число, указывающее максимальное количество символов, которое может иметь значение этого элемента управления.

    Авторам не следует полагаться на атрибут maxlength . Пользователи всегда могут отправить форму , если браузеры (некоторые намеренно) не поддерживают эту функцию.

    Пример

      

    Телефон:

    мин. Длина

    Целое число, указывающее минимальное количество символов, которое может иметь значение этого элемента управления.

    Авторы не должны полагаться на атрибут minlength . Пользователи всегда могут отправить форму , если браузеры (некоторые намеренно) не поддерживают эту функцию.

    Браузер поддерживает атрибут minlength на очень низком уровне (по состоянию на 2014/12/18). Авторам не следует полагаться на этот атрибут, пока поддержка не возрастет.

    Пример

      

    Телефон:

    название

    Имя элемента управления.Это имя будет отправлено браузером агенту обработки вместе с содержимым атрибута значение . Оба атрибута вместе будут соответствовать паре имя-значение, которая будет использоваться для обработки данных формы.

    В настоящее время значение isindex , ранее использовавшееся особым образом в некоторых браузерах и включенное в стандарт HTML , в этом атрибуте не допускается.

    Пример

      

    Телефон:

    узор

    Регулярное выражение для сопоставления со значением элемента управления перед отправкой формы . Этот атрибут можно использовать для указания формата, который пользователи должны будут соблюдать при заполнении поля.Если этот шаблон не соблюдается, при отправке будет показано сообщение об ошибке, и процесс будет отменен (если атрибут formnovalidate не присутствует в форме или кнопке отправки).

    Атрибут title имеет особое значение, когда присутствует этот атрибут: ожидается, что он предоставит объяснение правил, применимых к полю. Браузеры могут использовать информацию из , заголовок , чтобы составить сообщение об ошибке, показываемое пользователю при отмене процесса отправки.

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

    Пример

      

    Телефон:

    заполнитель

    Отрывок текста, который должен дать подсказку о том, как следует заполнять поле, например примеры или краткие описания.Браузеры могут отображать содержимое этого атрибута в элементе управления, пока он не имеет значения. Как только пользователи начнут записывать свой собственный текст, заполнитель текст должен исчезнуть из элемента управления.

    Авторам не следует использовать этот атрибут для замены метки. Ярлыки предназначены для обозначения заголовка, а заполнитель должен давать небольшую подсказку о том, как заполнить поле. Кроме того, ожидается, что текст-заполнитель исчезнет, ​​когда пользователь начнет вводить элемент управления.

    Пример

      

    Телефон:

    только чтение

    Логическое значение, указывающее браузеру запретить пользователю изменять значение элемента управления.Если этот атрибут имеет значение «только для чтения» или пустую строку («»), или если он просто присутствует, пользователю не будет разрешено изменять значение в элементе управления.

    Хотя этот атрибут предотвращает изменение значения элемента управления, не все взаимодействия блокируются: пользователи по-прежнему смогут выбирать и копировать текст в элементе управления.

    Пример

      

    Телефон:

    требуется

    Логическое значение, указывающее, можно ли оставить этот элемент пустым или нет.Если этот атрибут имеет значение "required" или пустую строку (""), или если он просто присутствует, пользователь должен будет заполнить элемент управления, чтобы иметь возможность отправить форму .

    Если элемент управления с присутствующим атрибутом required оставлен пустым, поддерживающие браузеры выдадут ошибку при отправке и немедленно отменит процесс.

    Браузер поддерживает атрибут Требуется не полностью. Авторам, возможно, придется полагаться на скрипты, чтобы обеспечить кроссбраузерность этой функциональности.

    Пример

      

    Телефон:

    размер

    Целое число, используемое в качестве ширины элемента в количестве символов, которые должны отображаться в элементе управления одновременно.

    Поскольку символы обычно не имеют одинаковой ширины, браузеры могут определять символ в соответствии с определенными критериями (например, средней или максимальной шириной).

    Пример

      

    Телефон:

    тип

    Значение, указывающее тип поля, которое представляет этот элемент.Есть двадцать два возможных значения (без учета регистра):

    • скрытый: скрытый элемент управления, используемый для отправки информации на сервер, обычно управляемый сценариями.
    • текст: элемент управления, используемый для ввода однострочного фрагмента текста.
    • поиск: то же, что и текст, но для целей поиска.
    • tel: контрольная панель для ввода телефонного номера.
    • URL-адрес

    • : текстовое поле, используемое для ввода единственного и абсолютного URL-адреса .
    • Электронная почта

    • : элемент управления, предназначенный для редактирования одного или нескольких адресов электронной почты.
    • пароль: текстовое поле для редактирования паролей, где символы представлены точками.
    • Дата

    • : элемент управления для ввода определенной даты.
    • месяц: элемент управления для ввода определенного месяца.
    • неделя: элемент управления для ввода определенной недели.
    • время: элемент управления для ввода определенного времени.
    • datetime-local: элемент управления для ввода определенной местной даты и времени.
    • Номер

    • : элемент управления для ввода числа.
    • Диапазон

    • : элемент управления для ввода одного или двух чисел внутри диапазона.
    • цвет: элемент управления для ввода цвета.
    • Флажок

    • : элемент управления для ввода логического значения (истина / ложь).
    • Радио

    • : элемент управления, используемый для выбора одного варианта из множества.
    • файл: элемент управления, используемый для загрузки файлов на сервер.
    • submit: кнопка, используемая для отправки формы.
    • Изображение

    • : то же, что и submit, но с возможностью отображения в виде изображения вместо использования кнопки по умолчанию.
    • сброс: кнопка, используемая для сброса элементов управления формы до значений по умолчанию.
    • Кнопка

    • : кнопка, не связанная с действием по умолчанию.

    Если этот атрибут отсутствует, элемент ведет себя так, как если бы он имел значение «текст».

    Пример

      
      
    значение

    Начальное значение для элемента управления, которое будет установлено при загрузке страницы и при нажатии кнопки сброса.

    Пример

      

    Телефон:

    rfc3966

     Сетевая рабочая группа H.Schulzrinne
    Запрос комментариев: 3966 Колумбийский университет
    Устарело: 2806 декабря 2004 г.
    Категория: Трек стандартов
    
    
                       Tel URI для телефонных номеров
    
    Статус этого меморандума
    
       Этот документ определяет протокол отслеживания стандартов Интернета для
       Интернет-сообщество и просит обсуждения и предложения по
       улучшения. См. Текущую редакцию "Интернет
       Официальные стандарты протокола »(STD 1) для состояния стандартизации
       и статус этого протокола.Распространение этой памятки не ограничено.
    
    Уведомление об авторских правах
    
       Авторские права (C) The Internet Society (2004).
    
    Абстрактный
    
       Этот документ определяет схему URI (унифицированный идентификатор ресурса).
       "тел". URI "tel" описывает ресурсы, идентифицированные по телефону.
       числа. Этот документ отменяет RFC 2806.
    
    Оглавление
    
       1. Введение. . . . . . . . . . . . . . . . . . . . . . . . . 2
       2. Терминология. . . . . . . . . . . . . . . . . . . . . . . . . 4
       3. Синтаксис URI. . . . . .. . . . . . . . . . . . . . . . . . . . 4
       4. Сравнение URI. . . . . . . . . . . . . . . . . . . . . . . 6
       5. Номера телефонов и их контекст. . . . . . . . . . . . . . . 6
            5.1. Телефонные номера. . . . . . . . . . . . . . . . . . . . . 6
                   5.1.1. Разделители в телефонных номерах. . . . . . . . . . 7
                   5.1.2. Буквенные символы, соответствующие цифрам. 7
                   5.1.3. Буквенные символы, * и # в качестве идентификаторов. 7
                   5.1.4. Глобальные номера. . . . . . . . . . . . . . . . . 7
                   5.1.5. Местные номера. . . . . . . . . . . . . . . . . 8
            5.2. Субадреса ISDN. . . . . . . . . . . . . . . . . . . 9
            5.3. Добавочные телефоны. . . . . . . . . . . . . . . . . . . 10
            5.4. Прочие параметры. . . . . . . . . . . . . . . . . . . 10
       6. Примеры. . . . . . . . . . . . . . . . . . . . . . . . . . 10
       7. Обоснование. . . . . . . . . . . . . . . . . . . . . . . . . . 11
            7.1. Почему бы просто не поместить телефонные номера в SIP URI ?. . . . 11
            7.2. Почему бы не различать типы звонков ?. . . . . . . . 11
            7.3. Почему тел. . . . . . . . . . . . . . . . . . . . . . . . 11
            7.4. Не путайте числа с тем, как они набираются. . . . 11
    
    
    
    Schulzrinne Standards Track [Страница 1] 

    RFC 3966 URI телефона, декабрь 2004 г.
    
    
       8. Использование телефонных URI в HTML. . . .. . . . . . . . . . . 11
       9. Использование URI "tel" с SIP (информативно). . . . . . . . . . . 12
       10. Благодарности. . . . . . . . . . . . . . . . . . . . . . . 14
       11. Соображения безопасности. . . . . . . . . . . . . . . . . . . 14
       12. Изменения по сравнению с RFC 2806.. . . . . . . . . . . . . . . . . . . 14
       13. Список литературы. . . . . . . . . . . . . . . . . . . . . . . . . . 15
            13.1. Нормативные ссылки . . . . . . . . . . . . . . . . . 15
            13.2. Информативные ссылки.. . . . . . . . . . . . . . . 16
       Адрес автора. . . . . . . . . . . . . . . . . . . . . . . . . 16
       Полное заявление об авторских правах. . . . . . . . . . . . . . . . . . . . . 17
    
    1. Введение
    
       Этот документ определяет схему URI «tel», которая описывает ресурсы.
       определяется по телефонным номерам. Телефонный номер - это строка
       десятичные цифры, которые однозначно обозначают конечную точку сети.
       Номер содержит информацию, необходимую для направления звонка на
       эта точка. (Это определение взято из [E.164], но включает
       как общедоступные, так и частные номера.)
    
       Конечная точка телефонного номера URI "tel" не является
       ограниченный. Это может быть телефонная сеть общего пользования, частная
       телефонная сеть или Интернет. Он может быть фиксированным или беспроводным и
       адрес стационарного проводного, мобильного или кочевого терминала. Терминал
       по адресу может поддерживаться любая служба электронной связи (ECS),
       включая голос, данные и факс. URI может относиться к ресурсам
       идентифицируется по номеру телефона, включая, помимо прочего,
       отправители или цели телефонного звонка.URI «tel» - это только глобальный уникальный идентификатор («имя»); оно делает
       не описывать шаги, необходимые для достижения определенного числа, и
       не подразумевает семантику набора. Кроме того, это не относится к
       конкретное физическое устройство, только по номеру телефона.
    
       В общепринятом понимании телефонные номера состоят из двух связанных, но
       различные концепции: канонический адрес записи и строка набора.
       Мы определяем концепции ниже:
    
       Адрес записи или идентификатор: телефонный номер понятен
          здесь как канонический адрес записи или идентификатор для
          точка завершения в конкретной сети.Для общественности
          сети эти номера соответствуют правилам E.164 [E.164], а
          частные номера подчиняются правилам владельца частных
          план нумерации. Подписчики публикуют эти идентификаторы, чтобы
          они доступны независимо от местонахождения звонящего.
          (Естественно, не все номера доступны отовсюду, так как
    
    
    
    
    
    Schulzrinne Standards Track [Страница 2] 

    RFC 3966 URI телефона, декабрь 2004 г.
    
    
          множество технических и местных политических причин.Также сингл
          точка завершения может быть достижима из разных сетей и может
          иметь несколько идентификаторов.)
    
       Строка набора: «Строки набора» - это фактические цифры, символы и
          паузы, введенные пользователем для выполнения телефонного звонка. Строка набора
          потребляется одним или несколькими сетевыми объектами и понимается в
          контекст конфигурации этих сущностей. Он используется для
          генерировать адрес записи или идентификатор (в смысле
          описано выше), чтобы можно было маршрутизировать вызов.Строки набора могут
          требовать добавленные цифры для выхода из частной телефонной станции (АТС)
          конечная система подключена, и они могут включать пост-набор
          двухтональная многочастотная (DTMF) сигнализация, которая может управлять
          система интерактивного голосового ответа (IVR) или позвоните на добавочный номер.
          Строки набора выходят за рамки этого документа.
    
       Оба подхода могут быть выражены как URI. Для строк набора это
       URI передается объекту, который может воспроизводить указанные действия
       в строке набора.Например, в аналоговой телефонной системе номеронабиратель
       переводит строку набора в последовательность действий, таких как ожидание
       для гудка, отправки цифр DTMF, паузы и генерации пост-набора
       Цифры DTMF после того, как вызываемый абонент берет трубку. В интегрированных услугах
       цифровая сеть (ISDN) или среда пользователя ISDN (ISUP),
       элементы сигнализации, которые принимают сообщения протокола, содержащие циферблат
       строка выполняет соответствующие действия протокола. Как уже отмечалось, это
       подход выходит за рамки данной спецификации.В описанном здесь подходе в URI указывается номер телефона.
       как идентификатор, который может быть глобально уникальным или действительным.
       в местном контексте. Приложение для набора номера знает о
       локальный контекст, зная, например, нужно ли использовать специальные цифры
       быть набранным для занятия внешней линии; будь то сеть, импульс или тон
       необходим набор номера; и какие тоны указывают на прогресс вызова. В
       приложение для набора номера затем преобразует телефонный номер в набор
       последовательность и выполняет необходимые сигнальные действия.Номеронабиратель
       не обязательно должно быть пользовательским приложением, как в традиционных
       настольные операционные системы, но вполне могут быть частью IP-to-PSTN
       шлюз.
    
       Чтобы позвонить по номеру телефона с телефона на УАТС, например,
       пользователь этого телефона должен знать, как преобразовать номер телефона
       идентификатор в строку набора, соответствующую этому телефону. В
       номер телефона сам по себе не говорит о том, что нужно сделать для
       конкретный терминал. Инструкции могут включать в себя набор «9» перед
       позвонив или добавив "00", чтобы набрать номер в иностранном
       страна.Телефон также может нуждаться в удалении кодов региона и страны.
    
    
    
    
    
    Schulzrinne Standards Track [Страница 3] 

    RFC 3966 URI телефона, декабрь 2004 г.
    
    
       Подход с использованием идентификатора, описанный в этом документе, имеет
       недостаток в том, что определенные услуги, такие как электронный банкинг или
       голосовая почта, не может быть указана в URI "tel".
    
       Обозначения для телефонных номеров в этом документе аналогичны обозначениям в
       RFC 3191 [RFC3191] и RFC 3192 [RFC3192].Однако синтаксис
       отличается, поскольку этот документ описывает URI, тогда как RFC 3191 и RFC 3192
       укажите адреса электронной почты. RFC 3191 и RFC 3192 используют "/" для
       указать параметры (квалификаторы). Поскольку в URI используется косая черта
       для описания иерархии путей в описанной здесь схеме URI используется
       точка с запятой в соответствии с URI протокола Session Initiation Protocol (SIP)
       соглашения [RFC3261].
    
       URI "tel" можно использовать в качестве URI запроса в запросах SIP [RFC3261].
       Спецификация SIP также наследует «абонентскую» часть
       синтаксис как часть «пользовательского элемента» в SIP URI.Другие протоколы
       также может использовать эту схему URI.
    
       URI "tel" не указывает тип вызова, например голосовой, факсимильный или
       вызов данных и не предоставляет параметры подключения для данных
       вызов. Предполагается, что тип и параметры согласовываются либо
       внутри полосы с помощью телефонного устройства или через протокол передачи сигналов, такой
       как SIP.
    
       Этот документ отменяет RFC 2806.
    
    2. Терминология
    
       В этом документе ключевые слова «ДОЛЖНЫ», «НЕ ДОЛЖНЫ», «ОБЯЗАТЕЛЬНО»,
       «ДОЛЖЕН», «НЕ ДОЛЖЕН», «ДОЛЖЕН», «НЕ ДОЛЖЕН», «РЕКОМЕНДУЕТСЯ», «МОЖЕТ»,
       и «ДОПОЛНИТЕЛЬНО» следует интерпретировать, как описано в BCP 14, RFC.
       2119, [RFC2119] и указать уровни требований для соответствия
       реализации.3. Синтаксис URI
    
       URI определяется с помощью ABNF (расширенная форма Бэкуса-Наура).
       описан в RFC 2234 [RFC2234] и использует элементы из ядра
       определения (приложение А к RFC 2234).
    
       Определение синтаксиса соответствует RFC 2396 [RFC2396], указывая
       фактические символы, содержащиеся в URI. Если зарезервированные символы
       «+», «;», «=» и «?» используются как разделители между компонентами
       URI "tel", они НЕ ДОЛЖНЫ быть закодированы в процентах. Эти персонажи
       ДОЛЖНЫ быть закодированы в процентах, если они появляются в значениях параметра tel URI.Schulzrinne Standards Track [Страница 4] 

    RFC 3966 URI телефона, декабрь 2004 г.
    
    
       Символы, не входящие в "зарезервированные" и "небезопасные" наборы (см.
       RFC 2396 [RFC2396]) эквивалентны их проценту "% HEX HEX"
       кодирование.
    
       URI "tel" имеет следующий синтаксис:
    
       phone-uri = "tel:" телефон-абонент
       телефонный абонент = глобальный номер / местный номер
       глобальный номер = цифры глобального номера * номинал
       местный-номер = местный-номер-цифры * номинальный контекст * номинал
       par = параметр / расширение / isdn-subaddress
       isdn-subaddress = "; isub =" 1 * uric
       extension = "; ext =" 1 * телефонная цифра
       context = "; phone-context =" дескриптор
       дескриптор = имя домена / цифры глобального номера
       global-number-digits = "+" * телефонная цифра ЦИФРА * телефонная цифра
       местный номер-цифры =
          * phonedigit-hex (HEXDIG / "*" / "#") * phonedigit-hex
       domainname = * (domainlabel ".") toplabel [". "]
       domainlabel = alphanum
                              / alphanum * (alphanum / "-") alphanum
       toplabel = АЛЬФА / АЛЬФА * (алфавит / "-") буквенный
       параметр = ";" pname ["=" pvalue]
       pname = 1 * (буквенное обозначение / "-")
       pvalue = 1 * paramchar
       paramchar = param-unreserved / unreserved / pct-encoded
       unreserved = алфавит / знак
       mark = "-" / "_" / "." / "!" / "~" / "*" /
                              "'" / "(" / ")"
       pct-encoded = "%" HEXDIG HEXDIG
       param-unreserved = "[" / "]" / "/" / ":" / "&" / "+" / "$"
       phonedigit = ЦИФРА / [визуальный разделитель]
       phonedigit-hex = HEXDIG / "*" / "#" / [визуальный разделитель]
       визуальный-разделитель = "-" / "."/" ("/") "
       алфавит = АЛЬФА / ЦИФРА
       зарезервировано = ";" / "/" / "?" / ":" / "@" / "&" /
                              "=" / "+" / "$" / ","
       uric = зарезервировано / незарезервировано / закодировано в pct
    
       Имя каждого параметра («pname»), подадрес ISDN, «расширение»,
       и «контекст» НЕ ДОЛЖЕН появляться более одного раза. 'Isdn-
       subaddress 'или' extension 'ДОЛЖЕН появиться первым, если присутствует, за которым следует
       параметр 'context', если он присутствует, за которым следуют любые другие параметры
       в лексикографическом порядке.Это упрощает сравнение при сравнении URI "tel".
          посимвольно, например, в SIP URI [RFC3261].
    
    
    
    
    Schulzrinne Standards Track [Страница 5] 

    RFC 3966 URI телефона, декабрь 2004 г.
    
    
    4. Сравнение URI
    
       Два URI "tel" эквивалентны согласно следующим правилам:
    
       o Оба должны быть либо «локальным-номером», либо «глобальным-номером», т. е.
          начинать с "+".
       o Цифры глобального номера и цифры местного номера должны быть
          равно, после удаления всех визуальных разделителей.o Для обязательных дополнительных параметров (раздел 5.4) и «телефон-
          параметры context 'и' extension ', определенные в этом документе,
          Значение параметра phone-context сравнивается с именем хоста, если оно
          - это "доменное имя" или цифра за цифрой, если это "глобальный номер-
          цифр. Последний сравнивается после удаления всех визуальных
          разделитель 'символов.
       o Параметры сравниваются в соответствии с 'pname', независимо от
          порядок их появления в URI. Если один URI имеет имя параметра
          не найдены в другом, два URI не равны.o При сравнении URI регистр не учитывается.
    
       Во всех именах и значениях параметров СЛЕДУЕТ использовать символы нижнего регистра, как
       tel URI могут использоваться в контекстах, где проводятся сравнения
       чувствительный.
    
       В разделе 19.1.4 спецификации SIP [RFC3261] обсуждается одно из таких
       кейс.
    
    5. Номера телефонов и их контекст
    
    5.1. Телефонные номера
    
       Часть URI «телефонный абонент» указывает номер. В
       номер телефона может быть представлен в глобальном (E.164) или местном
       обозначение. Все номера телефонов ДОЛЖНЫ использовать глобальную форму, если они не
       не могут быть представлены как таковые.Номера из частных планов нумерации,
       номера экстренной помощи («911», «112») и некоторые справочные номера
       (например, «411») и другие «служебные коды» (номера формы N11 в
       США) не могут быть представлены в глобальной (E.164) форме и
       должен быть представлен как местный номер с контекстом. Местный
       номера ДОЛЖНЫ быть помечены тегом «phone-context» (раздел 5.1.5).
    
       Реализации НЕ ДОЛЖНЫ предполагать, что телефонные номера имеют
       максимальная, минимальная или фиксированная длина, или они всегда начинаются с или
       содержат определенные цифры.Schulzrinne Standards Track [Страница 6] 

    RFC 3966 URI телефона, декабрь 2004 г.
    
    
    5.1.1. Разделители в телефонных номерах
    
       Номера телефонов МОГУТ содержать визуальные разделители. Визуальные разделители
       ('visual-separator') просто для удобства чтения и не используются для URI
       сравнение или звонок.
    
       Хотя это усложняет сравнения, эта спецификация сохраняет
       визуальные разделители в соответствии с духом RFC 2396
       [RFC2396], в котором отмечается, что «URI часто нужно запоминать
       людей, и людям легче запомнить URI, когда он
       состоит из значимых компонентов ".Кроме того, ISBN URN задокументированы в
       RFC 3187 [RFC3187] использует визуальные разделители аналогично этому
       Технические характеристики.
    
       Однако, несмотря на то, что ITU-T E.123 [E.123] рекомендует использовать пространство
       символы как визуальные разделители в печатных телефонных номерах, «тел»
       URI НЕ ДОЛЖНЫ использовать пробелы в визуальных разделителях, чтобы избежать чрезмерного
       побег.
    
    5.1.2. Буквенные символы, соответствующие цифрам
    
       В некоторых странах принято писать номера телефонов с
       буквенные символы, соответствующие определенным цифрам на
       телефонная клавиатура.Формат URI не поддерживает эту нотацию, так как
       преобразование буквенных символов в цифры не полностью
       единообразны на международном уровне, хотя существуют стандарты [E.161] [T1.703]
       решение этой проблемы.
    
    5.1.3. Буквенные символы, * и # как идентификаторы
    
       Поскольку номера вызывающих и вызывающих абонентов (TN) кодируются в BCD в
       ISUP, можно закодировать шесть дополнительных значений на цифру, иногда
       представлены шестнадцатеричными символами от A до F. Аналогичным образом,
       DTMF позволяет кодировать символы *, # и от A до D.Однако в соответствии с E.164 они не могут быть включены в
       глобальные номера. Их значение в местных номерах здесь не определяется,
       но они не запрещены.
    
    5.1.4. Глобальные номера
    
       Глобально уникальные номера обозначаются начальным знаком «+».
       Глобальные номера ДОЛЖНЫ состоять из страны (CC) и национальной
       (NSN) номера, указанные в E.123 [E.123] и E.164 [E.164].
       Глобальные уникальные номера однозначны во всем мире и
       Должен быть использован.
    
    
    
    
    
    
    Schulzrinne Standards Track [Страница 7] 

    RFC 3966 URI телефона, декабрь 2004 г.
    
    
    5.1.5. Местные номера
    
       Местные номера уникальны только в пределах определенной географической области или
       определенная часть телефонной сети, например, частный филиал
       АТС (PBX), штат или провинция, конкретная местная АТС
       оператора связи или конкретной страны. URI с местными телефонными номерами
       должны появляться только в тех средах, где все местные объекты могут
       успешно установили звонок, передав номер в дозвон
       программное обеспечение. Цифры, необходимые для выхода на внешнюю линию, например,
       не входят в местные номера.НЕ СЛЕДУЕТ использовать местные номера
       если нет возможности представить это число как глобальное число.
    
       НЕЛЬЗЯ использовать местные номера по нескольким причинам. Местные номера
       требовать, чтобы отправитель и получатель были настроены
       надлежащим образом, чтобы они могли вставить и распознать правильный
       дескрипторы контекста. Поскольку нет алгоритма выбора одного и того же
       дескриптор независимо, помечая числа с их контекстом
       увеличивает вероятность неправильной конфигурации, так что действительные идентификаторы
       отклоняются по ошибке.Алгоритм выбора дескрипторов был
       выбраны так, чтобы случайные столкновения были редкими, но они не могут
       быть исключенным.
    
       Местные номера ДОЛЖНЫ иметь параметр 'phone-context', который определяет
       объем их действия. Параметр ДОЛЖЕН быть выбран, чтобы
       определить местный контекст, в котором номер уникален
       однозначно. Таким образом, комбинация дескриптора в
       Параметр phone-context и местный номер снова глобально уникальны.
       Значение параметра определяется правопреемником местного номера.Он НЕ указывает префикс, который превращает местный номер в
       глобальный (E.164) номер.
    
       Есть два способа обозначить контекст: с помощью глобального номера или любого другого
       количество его первых цифр (например, "+33") и через доменное имя,
       например, "houston.example.com". Выбор между ними остается на усмотрение
       "владельцем" местного номера и регулируется тем, есть ли
       глобальный номер или доменное имя, которое является допустимым идентификатором для
       конкретный местный номер.
    
       Доменное имя не обязательно должно разрешаться какому-либо фактическому хосту, но ДОЛЖНО
       находиться под административным контролем организации, управляющей местным
       телефонный контекст.Глобальный контекст номера состоит из начальных цифр действительного
       глобальный номер. Все глобальные номера с этими начальными цифрами должны быть
       назначен той же организации, и такой совпадающий номер не может быть
       используется любой другой организацией. Например, + 49-6151-16 будет
       подходящий контекст для Технического университета Дармштадта, поскольку он
       использует все числа, начинающиеся с этих цифр. Если такой начальный
    
    
    
    Schulzrinne Standards Track [Страница 8] 

    RFC 3966 URI телефона, декабрь 2004 г.
    
    
       строка цифр не существует, организации СЛЕДУЕТ использовать
       наименьший номер из присвоенного ему глобального диапазона номеров.(Это может
       возникает, если две организации используют один и тот же десятичный блок чисел.
       Например, предположим, что организация владеет диапазоном номеров + 1-212-
       555-0100 по + 1-212-555-0149. + 1-212-555-1 не будет действительным
       глобальный контекст номера, но + 1-212-555-0100 будет работать.) Это не
       требовалось, чтобы местные номера в контексте фактически начинались с
       выбранный набор начальных чисел.
    
       Контекст, состоящий из начальных цифр глобального числа, делает
       не означает, что добавление их к местному номеру сгенерирует действительный
       Э.164 номер. Это могло произойти случайно, но это не может быть
       полагаться. (Например, «911» следует пометить с учетом контекста
       «+1», но «+ 1-911» не является действительным номером E.164.)
    
       Национальные номера бесплатных звонков не нуждаются в контексте, даже если они
       не обязательно доступны из-за пределов кода страны
       или план нумерации. Напомним, что URI «tel» - это идентификаторы; это
       достаточно, чтобы глобальный номер был уникальным, но это не обязательно
       чтобы он был доступен отовсюду.Даже номера бесплатных телефонов могут быть устаревшими или устаревшими.
          доступны из определенного места. Например, премиум
          такие услуги, как номера "900" в североамериканской нумерации
          план часто не доступен для набора из-за пределов конкретной страны
          код.
    
          Эти два типа этикеток были выбраны таким образом, чтобы почти во всех случаях
          локальный администратор может выбрать идентификатор, который разумно
          описательный и не требует нового назначенного под управлением IANA
          количество.Администратор должен назначить соответствующий
          идентификатор и использовать его последовательно. Часто организация может
          выбрать один из нескольких разных идентификаторов.
    
       Если получатель URI "tel" использует его просто для идентификации,
       получателю не нужно ничего знать о контексте
       дескриптор. Он просто рассматривает его как часть уникального в мировом масштабе
       идентификатор, а второй - местный номер. Если получатель
       URI намеревается сделать звонок на местный номер, он ДОЛЖЕН
       понимать контекст и иметь возможность совершать звонки в этом
       контекст.5.2. Субадреса ISDN
    
       Номер телефона МОЖЕТ также содержать параметр isdn-subaddress, который
       указывает подадрес ISDN.
    
    
    
    
    
    Schulzrinne Standards Track [Страница 9] 

    RFC 3966 URI телефона, декабрь 2004 г.
    
    
       Субадреса ISDN обычно содержат международный алфавит 5 (IA5
       [T.50]), но может содержать любое значение октета.
    
    5.3. Добавочный номер телефона
    
       Добавочные номера идентифицируют станции, находящиеся за УАТС без ISDN, и
       функционально примерно эквивалентен субадресам ISDN.Они есть
       идентифицируется с параметром 'extension'. Самое большее, один из
       Параметры "isdn-subaddress" и "extension" могут отображаться в "tel"
       URI, то есть они не могут появляться одновременно.
    
    5.4. Прочие параметры
    
       Будущие расширения протокола к этой схеме URI могут добавить другие
       параметры («параметр» в ABNF). Такие параметры могут быть либо
       обязательный или необязательный. Обязательные параметры начинаются с «m-». An
       реализация МОЖЕТ игнорировать необязательные параметры и НЕ ДОЛЖНА использовать
       URI, если он содержит неизвестные обязательные параметры.Префикс "m-"
       нельзя добавить к параметрам, которые уже были зарегистрированы (кроме
       создать новый, логически отличный параметр). "Телефонный контекст"
       параметр в этом документе является обязательным, а "isub" и "ext"
       по желанию.
    
       Новые обязательные параметры должны быть описаны в стандарте RFC,
       но для необязательных параметров достаточно информационного RFC.
    
       Например, параметры "параметра" могут использоваться для хранения
       специфичные для приложения дополнительные данные о номере телефона, его
       предполагаемое использование или любые преобразования, которые были применены к
       количество.Сущности, которые пересылают запросы протокола, содержащие URI "tel" с
       необязательные параметры НЕ ДОЛЖНЫ удалять или изменять параметры, которые они не делают.
       понимать.
    
    6. Примеры
    
       тел: + 1-201-555-0123: Этот URI указывает на номер телефона в США.
          Состояния. Дефисы добавлены, чтобы сделать число более человечным.
          удобочитаемый; они разделяют страну, код города и номер абонента.
    
       tel: 7042; phone-context = example.com: URI описывает местный телефон.
             номер действителен в контексте "пример.com ".
    
       tel: 863-1234; phone-context = + 1-914-555: URI описывает местный
          номер телефона, который действителен для определенного телефонного префикса.
    
    
    
    
    
    Schulzrinne Standards Track [Страница 10] 

    RFC 3966 URI телефона, декабрь 2004 г.
    
    
    7. Обоснование
    
    7.1. Почему бы просто не поместить телефонные номера в SIP URI?
    
       URI "tel" описывает услугу по достижению телефонного номера, которая
       не зависит от способов сделать это, будь то через SIP-to-PSTN
       шлюз, прямой SIP-вызов через E.164 номер ("ENUM") перевод
       [RFC3761], некоторые другие протоколы сигнализации, такие как H.323 или
       традиционный вызов с коммутацией каналов, инициированный на стороне клиента через,
       скажем, интерфейс программирования приложений телефонии (TAPI). Таким образом,
       по духу он ближе к схемам URN, которые тоже оставляют
       разрешение на внешний механизм. Тот же URI "tel" может получить
       переводится на любое количество других URI в процессе настройки
       звонок.
    
    7.2. Почему бы не различать типы звонков?
    
       Протоколы сигнализации, такие как SIP, позволяют согласовывать тип вызова и
       параметры, делающие очень простую индикацию в схеме URI
       спорный.Кроме того, поскольку тип вызова может часто меняться, любой такой
       индикация в URI, вероятно, устарела. Если такое обозначение
       желательно для устройства, которое выполняет вызовы напрямую без
       протокол сигнализации, такой как SIP, такие механизмы, как «тип»
       атрибут для элемента «A» в HTML может быть более подходящим.
    
    7.3. Почему «тел»?
    
       "тел" был выбран потому, что широко признано, что ни один из
       другие предложения оказались уместными. "Callto" был отброшен
       поскольку схемы URI определяют местонахождение ресурса и не определяют действие для
       быть взятым."Телефон" и "телефон" считались слишком длинными и не
       легко узнаваемый на международном уровне.
    
    7.4. Не путайте числа с тем, как они набираются
    
       Например, во многих странах номер E.164 "+ 1-212-555-3141"
       будет набираться как 00-1-212-555-3141, где перед "00"
       префикс для международных звонков. (Как правило, символ "+" в E.164
       указывает, что требуется международный префикс.)
    
    8. Использование телефонных URI в HTML.
    
       Ссылки, использующие URI "tel" ДОЛЖНЫ включать номер телефона, чтобы
       пользователи могут легко предсказать действие, совершенное при переходе по ссылке
    
       Наберите  + 1-212-555-0101 , чтобы
       помощь.Schulzrinne Standards Track [Страница 11] 

    RFC 3966 URI телефона, декабрь 2004 г.
    
    
       вместо того
    
       Наберите  этот номер  для получения помощи.
    
       На общедоступной HTML-странице номер телефона в URI СЛЕДУЕТ всегда
       быть в глобальной форме, даже если в тексте ссылки используются некоторые локальные
       формат:
    
       Телефон (при звонке в США):
          (201) 555-0111 
    
       или даже
    
       Для чтения вслух RFC вызовите  1-555-IETF-RFC .9. Использование URI "tel" с SIP (для справки)
    
       SIP может использовать URI "tel" везде, где разрешен URI, например как
       Request-URI вместе с URI sip и sips. Для краткости мы будем
       подразумевают "sips" URI, когда говорят о SIP URI. И "тел", и SIP
       URI могут содержать телефонные номера. В SIP URI они отображаются как
       пользовательская часть, то есть перед символом @ (раздел 19.1.6 в [RFC3261]).
    
       Если SIP UA не подключается напрямую к шлюзу PSTN, один из SIP
       прокси-серверы должны преобразовывать URI "tel" в URI SIP с
       часть хоста этого URI, указывающая на шлюз.Обычно исходящий
       прокси-сервер, как первый прокси-сервер, который посетил запрос вызова,
       выполняет этот перевод. Прокси-сервер может переводить все "тел"
       URI для того же имени хоста SIP или выберите другой шлюз для
       различные префиксы "тел", основанные, например, на полученной информации
       из TRIP [RFC3219]. Однако прокси-сервер также может делегировать
       эту задачу перевода на любой другой прокси-сервер, так как прокси-серверы
       могут свободно применять любую логику маршрутизации по своему желанию. Для местных номеров
       прокси-сервер НЕ ДОЛЖЕН переводить URI "tel", контексты которых он не выполняет.
       понимать.Как отмечалось ранее, все телефонные номера ДОЛЖНЫ использовать глобальную форму, если только
       они не могут быть представлены как таковые. Если формат местного номера
       используется, он ДОЛЖЕН быть уточнен параметром 'phone-context'.
       Фактически, сочетание местного номера и телефонного контекста делает
       URI "tel" уникален во всем мире.
    
       Хотя веб-страницы, визитные карточки vCard, адресные книги и
       каталоги могут легко содержать глобальные URI "tel", пользователи на двенадцати-
       кнопочные (IP) телефоны не могут набирать такие номера напрямую и
       обычно привык набирать более короткие строки, например.г., для АТС
       добавочные номера или местные номера. Эти так называемые строки набора (раздел
    
    
    
    Schulzrinne Standards Track [Страница 12] 

    RFC 3966 URI телефона, декабрь 2004 г.
    
    
       1) не представлены напрямую URI "tel", как уже отмечалось. Мы ссылаемся на
       правила, которые управляют переводом строк набора в SIP и
       URI "tel", глобальный или локальный, в качестве абонентской группы. В настоящее время,
       переводы из строк набора в URI "tel" должны выполняться в
       оконечные системы.Будущие усилия могут предоставить средства для переноски цепочек набора номера.
       в SIP URI, например, но на данный момент таких механизмов не существует
       пишу.
    
       SIP UA может использовать план набора для перевода строк набора в SIP или
       URI "tel". Абонентскую группу можно настроить вручную или, желательно,
       загружается как часть механизма настройки устройства. (На это
       время для этого не существует стандартизированного механизма.)
    
       Мобильный пользователь может использовать как минимум две группы набора, а именно план набора.
       для сети, которую он в настоящее время посещает, и план набора для
       его домашняя сеть.Как правило, набранные номера обозначают
       глобальные числа будут выглядеть одинаково после перевода независимо от
       план набора, даже если, скажем, посещаемая сеть использует '0' для
       при наборе «внешнего» номера, а в домашней сети пользователя используется цифра «9», как
       до тех пор, пока пользователь знает текущую абонентскую группу. Однако местные
       расширения без прямого глобального эквивалента вполне могут вести себя
       иначе. Во избежание двусмысленности в план набора ДОЛЖЕН быть вставлен
       подходящая строка 'phone-context' при выполнении перевода.Если
       'phone-context' - это доменное имя, есть три случая:
    
       1. Исходящий прокси распознает доменное имя в «тел» или SIP.
           URI в качестве локального контекста и может направлять запрос на шлюз.
           который понимает местный номер.
    
       2. Исходящий прокси-сервер не использует тот же телефонный контекст, но может
           маршрут к прокси-серверу, который обрабатывает этот телефонный контекст. Эта маршрутизация
           можно сделать через поисковую таблицу или доменное имя телефона
           контекст может быть настроен для отражения доменного имени SIP
           подходящий прокси.Например, прокси-сервер всегда может маршрутизировать вызовы с помощью
           URI "tel", например
    
              тел: 1234; phone-context = munich.example.com
    
           на прокси-сервер SIP, расположенный по адресу munich.example.com. (Прокси
           получение tel URI с непонятным контекстом
           обязан вернуть статус 404 (не найдено), чтобы
           исходящий прокси может решить попробовать такую ​​эвристику.)
    
       3. Исходящий прокси не распознает контекст телефона и
           не может найти подходящий прокси для этого телефонного контекста.В
           в этом случае перевод не выполняется, и исходящий прокси возвращает
           ответ об ошибке 404 (не найдено).
    
    
    
    
    Schulzrinne Standards Track [Страница 13] 

    RFC 3966 URI телефона, декабрь 2004 г.
    
    
    10. Благодарности
    
       Этот документ является производным от RFC 2806 [RFC2806], написанного Antti.
       Vaehae-Sipilae. Марк Оллман, Флемминг Андреасен, Франсуа Оде,
       Лоуренс Конрой, Каллен Дженнингс, Майкл Хаммер, Пол Кизиват,
       Эндрю Мэйн, Ксавьер Маржу, Джон Петерсон, Майк Пирс, Джонатан
       Розенберг и Джеймс Ю предоставили обширные комментарии.11. Соображения безопасности
    
       Соображения безопасности совпадают с соображениями безопасности для URL-адреса mailto.
       [RFC2368].
    
       Веб-клиенты и аналогичные инструменты НЕ ДОЛЖНЫ использовать URI "tel" для размещения
       телефонные звонки без явного согласия пользователя этого
       клиент. Автоматическое выполнение звонков без соответствующего пользователя
       подтверждение может повлечь за собой ряд рисков, таких как описанные
       ниже:
    
       o Звонки могут повлечь за собой расходы.
       o URI может использоваться для злонамеренных или назойливых вызовов.
       o Во время вызова телефонная линия пользователя будет снята, что предотвратит
          его использование.o Звонок может раскрыть номер телефона пользователя, который, возможно, не внесен в список.
          удаленный хост в идентификационных данных вызывающего абонента и может позволить
          злоумышленнику сопоставить номер телефона пользователя с другим
          информация, такая как электронная почта или IP-адрес.
    
       Это особенно важно для URI "tel", встроенных в ссылки HTML,
       поскольку злоумышленник может скрыть истинную природу URI в ссылке
       текст, как в
    
        Здесь можно найти бесплатную информацию 
        тел: + 1-800-555-0191 
    
    
       URI-адрес "tel" может раскрывать личную информацию, как и телефон
       числа как текст.Однако наличие идентификатора tel: schema
       может помочь злоумышленнику с помощью поисковой системы обнаружить
       эти числа.
    
    12. Изменения по сравнению с RFC 2806
    
       Спецификация синтаксически обратно совместима с
       URI "tel" определен в RFC 2806 [RFC2806], но полностью
       переписан. Этот документ более четко различает телефонные номера.
       числа как идентификаторы оконечных точек сети с набора номера
       strings и удаляет последний из области URI "tel".Schulzrinne Standards Track [Страница 14] 

    RFC 3966 URI телефона, декабрь 2004 г.
    
    
       По сравнению с RFC 2806, ссылки на выбор оператора связи, контекст набора,
       URI факса и модема, строки после набора и символы паузы были
       удаленный. Синтаксис URI теперь соответствует RFC 2396 [RFC2396].
    
       Добавлен раздел об использовании URI "tel" в SIP.
    
    13. Ссылки
    
    13.1. Нормативные ссылки
    
       [E.123] Международный союз электросвязи, "Обозначение для
                  национальные и международные номера телефонов, электронная почта
                  Адреса и веб-адреса », Рекомендация E.123,
                  Февраль 2001 г.
    
       [E.161] Международный союз электросвязи, "Организация
                  цифры, буквы и символы на телефонах и др.
                  устройства, которые можно использовать для получения доступа к телефону
                  сеть », Рекомендация E.161, май 1995 г.
    
       [E.164] Международный союз электросвязи, "Международный
                  план нумерации электросвязи общего пользования ", Рекомендация
                  E.164, май 1997 г.
    
       [RFC2119] Брэднер, С., "Ключевые слова для использования в RFC для обозначения
                  Уровни требований », BCP 14, RFC 2119, март 1997 г.
    
       [RFC2234] Крокер Д. и П. Оверелл, "Расширенный BNF для синтаксиса
                  Спецификации: ABNF », RFC 2234, ноябрь 1997 г.
    
       [RFC3261] Розенберг, Дж., Шульцринн, Х., Камарилло, Г., Джонстон,
                  А., Петерсон, Дж., Спаркс, Р., Хэндли, М. и Э.
                  Школьник, "SIP: протокол инициации сеанса", RFC 3261,
                  Июнь 2002 г.
    
       [T1.703] ANSI, "Распределение букв по клавишам цифр"
                  Клавиатуры для телекоммуникаций », Стандарт Т1.703–1995
                  (R1999), 1999.
    
    
    
    
    
    
    
    
    
    
    
    
    
    Schulzrinne Standards Track [Страница 15] 

    RFC 3966 URI телефона, декабрь 2004 г.
    
    
    13.2. Информативные ссылки
    
       [RFC2368] Хоффман, П., Масинтер, Л., и Дж. Завински, "The mailto
                  Схема URL », RFC 2368, июль 1998 г.
    
       [RFC2396] Бернерс-Ли, Т., Филдинг, Р., и Л. Масинтер, "Униформа
                  Идентификаторы ресурсов (URI): общий синтаксис », RFC 2396,
                  Август 1998 г.[RFC2806] Ваха-Сипила, А., «URL-адреса для телефонных звонков», RFC 2806,
                  Апрель 2000 г.
    
       [RFC3761] Фалтстром, П. и М. Миллинг, "От E.164 до Uniform
                  Идентификаторы ресурсов (URI) Обнаружение динамического делегирования
                  System (DDDS) Application (ENUM) », RFC 3761, апрель 2004 г.
    
       [RFC3187] Хакала, Дж. И Х. Валравенс, "Использование международного стандарта
                  Номера книг как универсальные названия ресурсов », RFC 3187, октябрь
                  2001 г.
    
       [RFC3191] Аллоккио, С., "Минимальный формат адреса GSTN в Интернете
                  Почта », RFC 3191, октябрь 2001 г.
    
       [RFC3192] Allocchio, C., "Минимальный формат адреса факса в Интернете.
                  Почта », RFC 3192, октябрь 2001 г.
    
       [RFC3219] Розенберг Дж., Салама Х. и М. Сквайр, "Телефония
                  Маршрутизация по IP (TRIP) », RFC 3219, январь 2002 г.
    
       [T.50] Международный союз электросвязи, "Международный
                  Справочный алфавит (IRA) (ранее международный алфавит)
                  № 5 или IA5) - Информационные технологии - 7-битное кодирование
                  набор символов для обмена информацией », Рекомендация
                  Т.50, 1992.
    
    Адрес автора
    
       Хеннинг Шульцринне
       Колумбийский университет
       Департамент компьютерных наук
       450 здание компьютерных наук
       Нью-Йорк, NY 10027
       нас
    
       Телефон: +1212939 7042
       Электронная почта: [email protected]
       URI: http://www.cs.columbia.edu
    
    
    
    
    Schulzrinne Standards Track [Страница 16] 

    RFC 3966 URI телефона, декабрь 2004 г.
    
    
    Полное заявление об авторских правах
    
       Авторские права (C) The Internet Society (2004).На этот документ распространяются права, лицензии и ограничения.
       содержится в BCP 78, и, за исключением случаев, изложенных в нем, авторы
       сохраняют все свои права.
    
       Этот документ и содержащаяся в нем информация размещены на
       Принцип "КАК ЕСТЬ" и ПОСТАВЩИК, ОРГАНИЗАЦИЯ, ПРЕДСТАВЛЯЕМЫЕ ОН / ОНА
       ИЛИ СПОНСИРУЕТСЯ (ЕСЛИ ЕСТЬ) ИНТЕРНЕТ-ОБЩЕСТВОМ И ИНТЕРНЕТОМ
       ИНЖЕНЕРНОЕ ОБОРУДОВАНИЕ ОТКАЗЫВАЕТСЯ ОТ ВСЕХ ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ,
       ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯ ГАРАНТИЮ, ЧТО ИСПОЛЬЗОВАНИЕ
       ПРИСУТСТВУЮЩАЯ ИНФОРМАЦИЯ НЕ НАРУШАЕТ НИКАКИХ ПРАВ ИЛИ ПОДРАЗУМЕВАЕМЫХ
       ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ ИЛИ ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ.Интеллектуальная собственность
    
       IETF не занимает никакой позиции относительно действительности или объема каких-либо
       Права на интеллектуальную собственность или другие права, которые могут быть заявлены на
       относятся к реализации или использованию технологии, описанной в
       этот документ или степень, в которой любая лицензия на такие права
       может быть, а может и нет; и не означает, что
       предпринял какие-либо независимые усилия для выявления любых таких прав. Информация
       о процедурах IETF в отношении прав в документах IETF может
       можно найти в BCP 78 и BCP 79.Копии раскрытия информации о правах интеллектуальной собственности в секретариат IETF и
       гарантии предоставления лицензий или результат
       попытка получить генеральную лицензию или разрешение на использование
       такие права собственности разработчиков или пользователей этого
       спецификацию можно получить из он-лайн репозитория IETF IPR по адресу
       http://www.ietf.org/ipr.
    
       IETF приглашает любую заинтересованную сторону довести до ее сведения любые
       авторские права, патенты или заявки на патенты или другие проприетарные
       права, которые могут распространяться на технологии, которые могут потребоваться для реализации
       этот стандарт.Пожалуйста, направьте информацию в IETF по адресу ietf-
       [email protected].
    
    Подтверждение
    
       Финансирование функции редактора RFC в настоящее время обеспечивается
       Интернет-общество.
    
    
    
    
    
    
    
    Schulzrinne Standards Track [Страница 17]
     

    HTML input type = "tel" Атрибут - Dofactory

    Тег с атрибутом type = "tel" создает поле ввода для телефонного номера.Поля «Телефон» не проверяются автоматически из-за большого количества телефонных номеров в мире.

    Элемент типа тел.
    Это поле принимает телефонные номера, соответствующие шаблону. Например, 333-444-5555.

    скопировано в буфер обмена

     
    Телефон

      
    Телефон

    Попробуйте вживую


    создает поле ввода телефонного номера.

    Телефонные номера не проверяются автоматически, поскольку их форматы сильно различаются в разных странах мира.

    Проверка для конкретного формата может быть реализована с помощью атрибута pattern.

    Если браузер не поддерживает телефонные поля ввода, он вернется к обычному текстовому полю.


    
     

    Вот когда началась поддержка type = "tel" для каждого браузера:

    Хром

    1.0 сен 2008

    Firefox

    1,0 сен 2002

    IE / Edge

    10.0 сен 2012

    Opera

    11,0 декабрь 2010 г.

    Safari

    1.0 Янв 2003

    Вернуться к

    input (type-tel) _element (html) | Поддержка специальных возможностей

    Уровень поддержки программы чтения с экрана: частичный (41/53)

    Уровень поддержки голосового управления: частичный (13/15)

    На этой странице

    Об этой функции

    Возраст результатов

    Результаты всех тестов для эта функция варьировалась от 4 месяцев назад до 2 лет назад.Подробные даты и информацию о версии можно найти в связанных тестах.

    Неудачные и частичные результаты получены от 2 лет назад до 2 лет назад.

    Ожидания

    Каковы ожидания?

    Поддержка программы чтения с экрана по ожиданиям

    Ожидание JAWS Экранный диктор NVDA Orca VoiceOver Chrome Edge Firefox Edge Chrome Edge Firefox Firefox Chrome Safari Safari
    ДОЛЖЕН частично указывать его имя поддерживается поддерживается поддерживается поддерживается поддерживается поддерживается поддерживается частично
    ДОЛЖЕН передавать свою роль частично частично поддерживается поддерживается поддерживается поддерживается поддерживается поддерживается поддерживается поддерживается частично
    ДОЛЖНО передавать текущее значение частично частично поддерживается поддерживается поддерживается поддерживается поддерживается поддерживается поддерживается поддерживается поддерживается
    ДОЛЖЕН передавать изменения в значении поддерживается поддерживается поддерживается поддерживается поддерживается поддерживается поддерживается поддерживается поддерживается поддерживается поддерживается
    СЛЕДУЕТ предоставлять ярлыки для перехода к этой роли поддерживается поддерживается поддерживается поддерживается поддерживается поддерживается поддерживается поддерживается 9003 2

    поддерживается поддерживается поддерживается

    Поддержка голосового управления в зависимости от ожидания

    Expectation Dragon Naturally Speaking Голосовой доступ (Android)

    4 909 Голосовое управление (MacOS) Распознавание речи Windows Chrome Chrome Safari Safari Chrome ДОЛЖЕН передать свое имя поддерживается поддерживается поддерживается поддерживается поддерживается поддерживается ДОЛЖЕН передавать свою роль поддерживается поддерживается не применимо поддерживается поддерживается ДОЛЖНО разрешать ввод данных поддерживается поддерживается поддерживается поддерживается поддерживается 900 32

    Ожидание: передайте свое название

    Обоснование:

    Пользователь программы чтения с экрана должен знать, что вводить.

    Сила этого ожидания для различных типов вспомогательных технологий:
    • Устройства чтения с экрана: ДОЛЖНЫ
    • Голосовое управление: ДОЛЖНО
    Примечания:

    программы чтения с экрана Windows) не всегда будет приводить к явной передаче имени при перемещении виртуального фокуса на вход, где метка отображается визуально и программно связывается с входом. Это приемлемо, потому что название подразумевается тем фактом, что оно должно естественным образом встречаться в порядке чтения.Некоторые программы чтения с экрана предпочитают не указывать имя в этих случаях, вероятно, чтобы уменьшить многословие.

    Примеры:
    • Программа чтения с экрана объявит имя (метку).
    • Программное обеспечение голосового управления позволит пользователю сказать что-то вроде «щелкните <имя>», чтобы активировать управление.

    Ожидание: передать его роль

    Обоснование:

    Пользователь программы чтения с экрана должен знать, как он может взаимодействовать с элементом. Программное обеспечение голосового управления может использовать эту роль, чтобы помочь пользователям активировать элементы управления, у которых нет видимого имени.

    Сила этого ожидания для различных типов вспомогательных технологий:
    • Устройства чтения с экрана: ДОЛЖНЫ
    • Голосовое управление: ДОЛЖНО
    Примеры:
    • Программа чтения с экрана может объявлять роль "ввода текста", "править "," редактировать текст "и т. д.
    • Программное обеспечение голосового управления позволит пользователю сказать что-то вроде" щелкните текстовое поле ", чтобы сфокусировать ввод или отметить роль числом.

    Ожидание: передать текущее значение

    Обоснование:

    Пользователю программы чтения с экрана необходимо знать текущее значение ввода.

    Сила этого ожидания для различных типов вспомогательных технологий:
    • Устройства чтения с экрана: ДОЛЖНЫ
    • Голосовое управление: NA

    Ожидание: передавать изменения в значении

    Обоснование:

    Пользователь должен знать, что значение было успешно изменен.

    Сила этого ожидания для различных типов вспомогательных технологий:
    • Устройства чтения с экрана: ДОЛЖНЫ
    • Голосовое управление: NA
    Примеры:
    • Когда пользователь вводит текст, программа чтения с экрана сообщит им об этом.

    Ожидание: предоставить ярлыки для перехода к этой роли

    Обоснование:

    Пользователи программы чтения с экрана могут захотеть быстро переходить к элементам этого типа.

    Сила этого ожидания для различных типов вспомогательных технологий:
    • Считыватели экрана: ДОЛЖНЫ
    • Голосовое управление: NA

    Ожидание: разрешить ввод данных

    Обоснование:

    Пользователи должны иметь возможность вводить данные

    Сила этого ожидания для различных типов вспомогательных технологий:
    • Устройства чтения с экрана: NA
    • Голосовое управление: ДОЛЖНО
    Примеры:
    • Программное обеспечение голосового управления может позволить кому-то диктовать данные в поле, когда оно сфокусировано.

    input type = tel - поле ввода телефонного номера (NEW)

    Ⓘ input type = tel - поле ввода телефонного номера NEW # T

    Вход
    элемент
    с атрибутом типа, чей
    значение " tel " представляет собой однострочный текстовый
    редактировать элемент управления для ввода телефонного номера.

    Разрешенные атрибуты #


    глобальные атрибуты
    Любые атрибуты, разрешенные глобально.

    имя = строка
    #
    Часть имени пары имя / значение, связанной с этим
    элемент для отправки формы.

    отключен =
    "отключен"
    или "" (пустая строка) или пустая

    #

    Указывает, что элемент представляет отключенный
    контроль.

    форма =
    Ссылка на идентификатор
    НОВЫЙ
    #
    Стоимость
    я бы
    атрибут на
    форма
    с которым нужно связать элемент.
    type = "tel"
    #
    Указывает, что его
    Вход
    элемент
    однострочный элемент управления редактированием обычного текста для ввода
    номер телефона.

    автозаполнение =
    "включено" или "выключено"
    НОВЫЙ
    #
    Указывает, представляет ли элемент вход
    элемент управления, для которого UA предназначен для хранения введенного значения
    пользователем (чтобы UA мог предварительно заполнить форму
    потом).

    автофокус =
    «автофокус»
    или "" (пустая строка) или пустая
    НОВЫЙ
    #
    Указывает, что элемент представляет собой элемент управления, для которого
    UA предназначен для сосредоточения внимания, как только документ
    загружен.

    список =
    Ссылка на идентификатор
    НОВЫЙ
    #
    Стоимость
    я бы
    атрибут на
    даталист
    с которым нужно связать элемент.

    maxlength =
    неотрицательное целое число

    #

    Максимально допустимая длина значения элемента.

    шаблон =
    шаблон
    НОВЫЙ
    #
    Задает регулярное выражение, с которым сравнивается UA.
    предназначен для проверки значения элемента управления, представленного его
    элемент.
    Регулярное выражение, которое
    должен
    соответствовать JavaScript
    Узор
    производство, как указано в
    [ECMA 262].

    readonly =
    "только для чтения"
    или "" (пустая строка) или пустая

    #

    Указывает, что элемент представляет собой элемент управления, значение которого
    не предназначен для редактирования.

    требуется =
    "требуется"
    или "" (пустая строка) или пустая
    НОВЫЙ
    #
    Указывает, что элемент является обязательной частью формы
    подчинение.

    размер =
    положительное число

    #

    Количество вариантов, отображаемых элементом управления.
    представлен его элементом.

    заполнитель =
    строка без разрывов строки
    НОВЫЙ
    #
    Короткая подсказка (одно слово или короткая фраза), предназначенная для
    помощь пользователю при вводе данных в элемент управления
    представлен его элементом.

    Любая строка, не содержащая перевода строки (U + 000A, «LF») или каретки.
    вернуть (U + 000D, «CR») символов.

    значение =
    строка без разрывов строки

    #

    Задает значение для этого
    Вход
    элемент.

    Любая строка, не содержащая перевода строки (U + 000A, «LF») или каретки.
    вернуть (U + 000D, «CR») символов.

    Дополнительные ограничения и предостережения #

    • Ввод интерактивного элемента не должен
      появляются как потомок элемента a.
    • Ввод интерактивного элемента не должен
      появляются как потомок элемента кнопки.
    • Любой элемент ввода, являющийся потомком элемента метки
      с атрибутом for должен иметь
      Значение идентификатора, соответствующее этому атрибуту.
    • Атрибут списка входного элемента должен ссылаться на элемент списка данных.
    • Ввод элемента с типом атрибута
      со значением «кнопка» должно иметь непустое значение атрибута.
    • Атрибут usemap во входном элементе устарел.
      Используйте элемент img вместо элемента ввода для карт изображений.
    • Атрибут align входного элемента устарел.
      Вместо этого используйте CSS.

    Разрешенные родительские элементы #

    любой элемент, который может содержать
    элементы фразировки

    href = номер телефона для международных номеров в AEM RTE

    Всем привет,

    RTE - наиболее часто используемый компонент в AEM.От этого компонента всегда возлагаются большие надежды, но у компонента RTE есть некоторые проблемы, которые на самом деле не являются проблемами, но эти функции не связаны с базовым поведением RTE, и нам нужно что-то сделать, чтобы он работал.

    1. Передача пользовательских протоколов (tel:, callto:, emailto 🙂 в ссылке Href в редакторе Rich Text:

    Постановка проблемы: если вы хотите использовать телефонный номер в качестве гиперссылки и хотите позвонить по номеру

    на номере, нажав на него, вам нужно использовать HTML, например

    1-847-555-5555 RTE не может отображать тот же HTML, что и добавленный в RTE.

    Причина: добавление протоколов, таких как tel: (или любой другой), в атрибут href тега привязки, не может быть напечатано так, как введено в RTE, как средство проверки ссылок com.day.cq.rewriter.linkchecker.impl.LinkCheckerImpl и защита XSS com.adobe.granite .xss.impl.HtmlToHtmlContentContext AntiSamy удаляет нераспознанные протоколы во время рендеринга компонентов.

    Решение: для решения этой проблемы:

    1. Наложение /libs/cq/xssprotection/config.xml в /apps/cq/xssprotection/config.xml
    2. Добавьте протокол say:
    3. Добавить конфигурацию telURL в список разрешенных привязок href.
    4. Перейдите в «Day CQ Link Checker Service» и добавьте «tel:» в специальные префиксы ссылок ».
    5. Рис.1: Служба дневной проверки ссылок CQ

    2.Передача международных номеров Link Href в редакторе Rich Text Editor:

    После выполнения вышеупомянутых шагов, если я настрою tel: 12345 в rte, он будет работать нормально, но при использовании

    href = tel для международных номеров, т.е. href = tel: +61 .... AEM удаляет ссылку и начинает удаление

    код.

    Поэтому необходимо выполнить следующий шаг, чтобы он работал.

    По умолчанию RTE поддерживает эти протоколы в href: http: //, https: //, ftp: //, mailto:

    .

    Чтобы настроить дополнительный протокол, вам нужно будет добавить следующую структуру в RTE по адресу

    тот же уровень узла rtePlugins,

    Определение этого узла будет:

    <ссылки

    jcr: primaryType = "nt: неструктурированный"

    протоколы = "[http: //, https: //, ftp: //, mailto:, tel:]" />

    Вот как можно решить проблему.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *