Мобильный телефон -удобный ввод строки цифр + пробелов (номер кредитной карты)

У меня есть форма ввода номера кредитной карты, которая будет использоваться как мобильными, так и немобильными браузерами -.

Я хочу намекнуть, что клавиатура должна появиться на мобильном телефоне и разрешить (необязательные )пробелы, поэтому следует принять либо «4111 1234 1234 1234», либо «4111123412341234».

Из того, что я нашел, варианты:

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

б)или аналогичный -iPhone распознает некоторые шаблоны([0-9]*,\d*)как работа с клавиатурой, но это не работает на Android. Также я не уверен, что есть какие-либо шаблоны, которые iPhone будет отображать на цифровой клавиатуре для разрешения пробелов, хотя у меня нет iPhone под рукой, чтобы проверить прямо сейчас.

c )Попытайтесь определить браузер с помощью Javascript и используйте (a )для мобильных устройств и (b )для не -мобильных устройств. Грязный, и никакой реальной пользы от (a ).

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

Есть ли лучший способ намекнуть мобильным браузерам, что они должны предлагать цифровую клавиатуру, чем использование type="tel"?

Изменить:

Может быть, свойство -webkit-*, которое можно было бы применить к обычному полю ввода текста, чтобы намекнуть, что должна отображаться цифровая клавиатура?

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