numberタイプのinput入力ボックスについては、入力ボックスの制限入力はinput[type='number']入力ボックスで、負、0、正の数のみ入力できます.小数点は2桁の小数点を保留します.
10016 ワード
numberタイプのinput入力ボックスについては、入力ボックスに入力し、jsとjqはnumberタイプのテキスト値を取得し、-番号が取得できないため、検査異常を引き起こし、完璧な解決方法でinputタイプを変換します.
<input type="number" class="fushu"/>
$(function(){
$(".fushu").focus(function () {
$(this)[0].type = "text";
})
$(".fushu").blur(function () {
$(this)[0].type = "number";
})
$('.fushu').bind('input propertychange', function () {
checkfushuInt($(this)[0]);
})
})
//
window.checkfushuInt = function (obj) {
obj.value = obj.value.replace(/[^-\d.]/g, ""); // "-"," " "."
obj.value = obj.value.replace(/^[.]/, ""); // .
obj.value = obj.value.replace("-.", ""); // -.
obj.value = obj.value.replace(/\-{2,}/g, "-"); // -,
obj.value = obj.value.replace("-", "$##$##$").replace(/\-/g, "").replace("$##$##$", "-");
obj.value = obj.value.replace(/\.{2,}/g, "."); // .,
obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //
}