Oto kilka typów jQuery klasy wejście używam:
$("input.intgr").keyup(function (e) { // Filter non-digits from input value.
if (/\D/g.test($(this).val())) $(this).val($(this).val().replace(/\D/g, ''));
});
$("input.nmbr").keyup(function (e) { // Filter non-numeric from input value.
var tVal=$(this).val();
if (tVal!="" && isNaN(tVal)){
tVal=(tVal.substr(0,1).replace(/[^0-9\.\-]/, '')+tVal.substr(1).replace(/[^0-9\.]/, ''));
var raVal=tVal.split(".")
if(raVal.length>2)
tVal=raVal[0]+"."+raVal.slice(1).join("");
$(this).val(tVal);
}
});
intgr pozwala tylko numeryczny - podobnie jak inne rozwiązania tutaj.
nmbr zezwala tylko na dziesiętne dodatnie/ujemne. Ujemny musi być pierwszy znak (można dodać „+” do filtra jeśli jest to potrzebne), paski -3.6.23.333
do -3.623333
Kładę nmbr się, bo znudziło próbuje znaleźć sposób, aby zachować tylko 1 dziesiętny i ujemny na 1. pozycji
Szukasz jednego numeru lub wielu numerów? To znaczy. dla "12.3 a b5" czy chcesz zwrócić "12.3 5" lub "12.35", czy też ten ciąg wejściowy nie jest nawet możliwy? – tloflin