2017-03-07 11 views
5

Hej, mam kod, który pozwala mi na kilka rzeczy, takich jak tylko cyfra Backspace jak mogę zmienić wyrażenie, które pozwoli na naciśnięcie "enter" i zezwala na tylko 1 przecinek i po przecinek maksymalnie 2 cyfry?Zezwalaj tylko na 1 przecinek i 2 miejsca po przecinku

$("[name=price]").keydown(function(e){ 
    if(e.keyCode == 110 || e.keyCode == 190) 
    { 
     e.preventDefault(); 
     $(this).val($(this).val() + ','); 
    } 
    if (/\d|,+|[b]+|-+/i.test(e.key)){ 

     }else{return false } 
}) 
+0

Co u próbowałem tak daleko? – namzaG

Odpowiedz

3

Oto wersja nieco gadatliwa. Ten akceptuje klawiszy strzałek, Tab, Enter, modyfikatory itp

$("[name=price]").keydown(function(e) { 
 
    if (e.keyCode == 110 || e.keyCode == 190 || e.keyCode == 188) { 
 
    if ($(this).val().indexOf(',') > -1) { 
 
     return false; 
 
    } else { 
 

 
     e.preventDefault(); 
 
     $(this).val($(this).val() + ','); 
 
    } 
 
    } 
 
    else if (e.keyCode < 47) { 
 
    
 
    } 
 
    else if (/\d|,+|-+/i.test(e.key)) { 
 
    if ($(this).val().indexOf(',') > -1) { 
 
     if ($(this).val().substr($(this).val().indexOf(',') + 1).length >= 2) { 
 
     return false; 
 
     } 
 
    } 
 

 
    } else { 
 
    return false 
 
    } 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input name="price" /> 
 
<input name="price" /> 
 
<input name="price" />

+0

Jeśli tego używam, nie mogę podać więcej liczb –

+0

Sprawdziłeś skrzypce? Działa na mojej przeglądarce .. – Sami

+0

Ups, zapomniałem powiedzieć, że mam więcej plików wejściowych o tej samej nazwie, teraz będzie miało wpływ na wszystkie z nich (przepraszam) –

Powiązane problemy