Поскольку вы, кажется, пытается получить номер телефона, а не общий номер, вы, вероятно, хотите использовать tel
тип input
:
<input type="tel" name="phoneno" class="required number" maxlength="15" pattern="\d{10}" id="ph" />
См MSDN on <input>
and its attributes. Я удалил minlength
, так как он не является допустимым атрибутом, но для регулярного выражения атрибута pattern
требуется 10 символов. Вы можете изменить это регулярное выражение, если вы хотите быть более гибким в форматах номеров телефонов, которые вы разрешаете - например, вы можете использовать \d{10}|\d{3}-\d{3}-\d{4}
.
Атрибут pattern
необходим для фактического подтверждения того, что текст выглядит как номер телефона. В браузере по умолчанию не выполняется проверка содержимого входов tel
; он в основном просто отображает клавиатуру с номерами для мобильных браузеров. Но вы можете написать регулярное выражение JavaScript в атрибуте pattern
для использования в валидации (как объясняется на странице MSDN).
+1 для наиболее семантического варианта, удаление моего ответа в вашей пользу – thefrontender