Как разрешить URL-адреса, начинающиеся с www in, без использования javascript? - PullRequest
0 голосов
/ 24 января 2020

Я хочу использовать html атрибут обязательный шаблон вместо javascript, чтобы разрешить URL-адреса, начинающиеся с www. Итак, оба примера должны быть действительными:

  • www.some.site.com
  • http://some.site.com

Я пробовал required pattern="https?:\/\/.+|www.+", но это не работает (см. моя JS скрипка ).

Вы видите, что не работает, когда вы выходите из поля ввода, и оно становится красным (поведение браузера по умолчанию)

Неправильно ли задано регулярное выражение? Или просто невозможно иметь URL, начинающиеся с www when input type = url?

Вот мой тест regex101.com .

<p>
    <input required pattern="https?:\/\/.+|www.+" name="myURL" type="url" placeholder="Enter url" >
</p>    
<p>
    <input id="myComment" name="myComment" type="text" placeholder="not in use">
</p>

Ответы [ 2 ]

1 голос
/ 24 января 2020

Тип ввода url поставляется с собственной проверкой. Если вы хотите принять ввод, который шире, чем тот, который позволяет этот тип, используйте тип ввода basi c text и сопоставьте его с любым шаблоном проверки, который вы предпочитаете.

0 голосов
/ 24 января 2020

Атрибут pattern указывает регулярное выражение, с которым проверяется значение элемента при отправке формы.

В вашем случае я думаю, что это регулярное выражение будет работать: (hhttps?:\/\/)?(www\.)+.*

Вы можете поиграть с регулярным выражением в: https://regexr.com/

Подробнее о pattern attribute можно узнать по адресу: https://www.w3schools.com/tags/att_input_pattern.asp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...