У меня есть форма, которая принимает номер телефона в качестве ввода в поле, которое я установил для типа, как tel, в соответствии со стандартом HTML5. Мне нужен ввод, чтобы принять либо 8-значное, либо 10-значное значение.
Я пытался
<input type='tel' placeholder='0123456789 or 12345678'></input>
Я также попытался добавить pattern="[0-9]{8} or [0-9]{10}
но не работал, есть ли другой способ
Это не шаблон, который я бы рекомендовал для телефонных номеров, но это должно делать, когда вы спрашиваете:
шаблон = '[0-9] {8,10}'
<input type='tel' pattern='[0-9]{8}([0-9]{2})?' title='Phone Number (8 or 10 numbers)' />
Прежде всего, я советую вам в настоящее время не использовать "tel" в качестве типа ввода. Причина этого в том, что она пока не поддерживается всеми основными поставщиками браузеров. Это может быть удобно для Google Chrome, но другие браузеры, такие как IE, еще не могут поддерживать этот тип ввода. Я лично придерживаюсь типа ввода текста для ввода номера телефона.
Во-вторых, вы можете ограничить количество вводимых лиц, используя атрибут maxlength.
<input type="text" maxlength="10"/>
Наконец, входной тег сам закрывается. Он используется в следующем формате:
<input />
Не:
<input></input>
Надеюсь, это помогло. Для получения дополнительной информации смотрите здесь: http://www.w3schools.com/tags/att_input_maxlength.asp
Нашел это сам, ребята
это должно было быть сделано с самим атрибутом шаблона
<input type='tel' placeholder='0123456789' pattern='[0-9]{8}|[0-9]{10}'>
здесь '|' это или в выражении, спасибо, ребята, однако.
pattern='[0-9]{8}|[0-9]{10}'
разрешил мою проблему
Измените свой тег ввода на это;
<input type="text" min="8" max="10" />