「type=number」のみを指定すると、iPhone のキーパッドは次のように表示されます。

<input type="number" pattern="\d*"/>
またはのようなパターンを指定すると<input type="number" pattern="[0-9]*" />
、iPhone のキーパッドは次のようになります。

それでもドット (.) を表示することはできません。現在、そのような場合を処理するパターンはありません。
<input type="tel" />
したがって、次のようなキーパッドを提供するものを選択できます。

iOS の入力の詳細については、以下のリンクを参照してください。
http://bradfrost.com/blog/mobile/better-numerical-inputs-for-mobile-forms/
http://blog.pamelafox.org/2012/05/triggering-numeric-keyboards-with-html5.html
https://about.zoosk.com/nb/engineering-blog/mobile-web-design-use-html5-to-trigger-the-property-keyboard-for-form-inputs/
http://mobiforge.com/design-development/html5-mobile-web-forms-and-input-types
http://www.petefreitag.com/item/768.cfm
http://html5tutorial.info/html5-contact.php
これがあなたを助けることを願っています。:)
カスタマイズの更新(参照: https://stackoverflow.com/a/20021657/1771795 )
JavaScript を使用して、いくつかのカスタマイズを行うことができます。e.which
入力された読み取りパターンを使用した通貨入力の例を見CharCode
て、それを小数点の前の数字を表す配列 (前) と別の配列 (後) にプッシュして、(前の) 配列から小数点を超えて値を移動します。
完全なフィドル リンク
HTML:
<input type="tel" id="number" />
JS
変数と関数:
// declare variables
var i = 0,
before = [],
after = [],
value = [],
number = '';
// reset all values
function resetVal() {
i = 0;
before = [];
after = [];
value = [];
number = '';
$("#number").val("");
$(".amount").html("");
}
// add thousand separater
function addComma(num) {
return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
メインコード:
// listen to keyup event
$("#number").on("keyup", function (e, v) {
// accept numbers only (0-9)
if ((e.which >= 48) && (e.which <= 57)) {
// convert CharCode into a number
number = String.fromCharCode(e.which);
// hide value in input
$(this).val("");
// main array which holds all numbers
value.push(number);
// array of numbers before decimal mark
before.push(value[i]);
// move numbers past decimal mark
if (i > 1) {
after.push(value[i - 2]);
before.splice(0, 1);
}
// final value
var val_final = after.join("") + "." + before.join("");
// show value separated by comma(s)
$(this).val(addComma(val_final));
// update counter
i++;
// for demo
$(".amount").html(" " + $(this).val());
} else {
// reset values
resetVal();
}
});
リセット:
// clear arrays once clear btn is pressed
$(".ui-input-text .ui-input-clear").on("click", function () {
resetVal();
});
結果:
