konto usunięte
Temat: ASP javascipt i walidacja pola
Witam,dokonuję walidacji pola "run-time" czyli w czasie naciskania klawisza przez użytkownika.
Dozwolony format to dddd,dd gdzie d to 0-9 z ograniczeniami (ograniczenia typu "nie można wstawić na początek 0 jeśli już ono jest i jest po nim przecinek").
Problem wydaje się błahy.. lecz taki nie jest, a mianowicie:
Wyrażenie regularne jest ok - takie być powinno. Jednak jak zauważycie w skrypcie doklejam do końca stringa klawisz który nacisnął użytkownik. Problem pojawia się gdy:
-stan aktualny textboxa: 22,11
-użytkownik wpisuje pomiędzy "2" jakąs cyfrę np 2(3)2,11
-ponieważ doklejam z prawej strony wpisany znak powstaje string 22,11(3) którego wyrażenie regularne nie dopuszcza. Pytanie - jak pobrać cały string (ze wstawionym znakiem w odpowiednim miejscu)do funkcji na keypress.
Poniżej kod java script
function validateKeyPress1(e,field) {
var reg = /(^[1-9]{1}[0-9]{0,3},{1}[0-9]{0,2}$)|(^[1-9]{1}[0-9]{0,3}$)|(^[0]{1},{1}[0-9]{0,2}$)|(^[0]$)/;
var key = (e.keyCode ? e.keyCode : e.which);
var matchArray = (field.value+String.fromCharCode(key)).match(reg);
if (matchArray == null && e.keyCode != 8) {
return false;
}
else
return true;
}