Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Walidacja pieniądze
Forum PHP.pl > Forum > Po stronie przeglądarki
TomASS
Witajcie.

Czy ma ktoś może funkcję, która waliduje wprowadzenie wartości pieniędzy w polu input?
Czyli nie przyjmie
Cytat
1.23123,12
dad123,312


a przyjmie
Cytat
2131,12
1231.31
12312

droslaw
Wykorzystujesz str_replace, żeby zamienić przecinki na kropki a potem sprawdzasz funkcją is_numeric.
TomASS
Tylko, że chciałbym w JS a nie w PHP smile.gif
skowron-line
Cytat(droslaw @ 28.06.2012, 07:41:21 ) *
Wykorzystujesz str_replace, żeby zamienić przecinki na kropki a potem sprawdzasz funkcją is_numeric.

tylko używasz funkcji JS
http://stackoverflow.com/questions/2227370...ency-validation
TomASS
Dzięki,

ale niestety nie mogę sobie porawdzić z przerobienie wyrażenia tak aby:
1. móc użyć kropki albo przecinka jako sepratora
2. wogóle nie podwać części dziesiętnych

;(
Cytat
var regex = /^\d+(?:\.\d{0,2})$/;
var numStr = "123.20";
if (regex.test(numStr))
alert("Number is valid");

droslaw
Poczytaj to
TomASS
dałem tak i nie łyka sad.gif
Cytat
var regex = /^\d+(?:\[.,]\d{0,2})$/;
kamil4u
Wyrażenia regularne do tego? Po co?

Kod
<script>
function test( x ){
if( parseInt(x) == x ) return true;
if( parseFloat(x) == x ) return true;
if( parseFloat( x.replace(',','.') ) == x.replace(',','.') ) return true;
return false;
}


alert( test("1.23123,12") );
alert( test("dad123,312") );
alert( test("2131,12") );
alert( test("1231.31") );
alert( test("12312") );
</script>


Może jakiegoś wyjątku brakować smile.gif Ale wtedy dopisz sobie to sam.
TomASS
Dzięki!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.