我有一個信用卡號碼輸入表單,它將被移動瀏覽器和非移動瀏覽器使用。手機友好輸入數字+空格字符串(信用卡號碼)
我想提示一個鍵盤應該出現在手機上,並且允許(可選)空格,所以應該接受「4111 1234 1234 1234」或「4111123412341234」。
從我發現,有三種選擇:
一)<input type="tel"/>
- 這似乎表現,因爲我想(與當前的移動瀏覽器至少),但它的語義錯誤。
B)<input type="text" pattern="[\d ]*"/>
或類似 - 在iPhone recognises some patterns([0-9]*
,\d*
)與鍵盤的工作,但這並不在Android上正常工作。此外,我不確定是否有任何iPhone可以提供空格的圖案,儘管我手邊沒有iPhone來檢查。
c)嘗試使用Javascript進行瀏覽器檢測,並使用(a)移動設備和(b)非移動設備。 Cludgy,對(a)沒有真正的好處。
<input type="number"/>
自Chrome at least will force such input to a number以來似乎不是首發,因此用空格輸入。
有沒有更好的方式暗示移動瀏覽器,他們應該提供一個數字鍵盤比使用type="tel"
?
編輯:
也許這可以適用於一個普通的文本輸入字段暗示,一個小鍵盤應顯示一個-webkit-*
財產?
Bah,剛剛發現一個重複:[HTML5輸入類型號碼vs電話](http://stackoverflow.com/questions/8216278/html5-input-type-number-vs-tel) –