11. februar 2002 - 23:11Der er
13 kommentarer og 1 løsning
validering af formfelt
På min web-site, skal brugerne kunne indtaste bl.a. et password, men det password må kun bestå af bogstaverne a-z, 0-9 plus bindestreg - . Hvordan får jeg javascript til, at tjekke det?
Den funger ikke helt. Den afviser selvom det er et korrekt password.
Jeg vil gerne have det sådan, at valideringsscriptet bliver udført seperat. Så hvis passwordet er for kort kommer der en alert-box med det, og hvis der er brugt nogle "ulovlige" tegn så får man en alert-box med det.
I det her accepterer jeg kun 0..9 som godkendte tegn men du kan bare udvide efter eget ønske i aray okTegn.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>[valid password]</TITLE> <STYLE TYPE="text/css"> </STYLE>
<SCRIPT TYPE="text/javascript"> <!-- var ok=false; //gælder for begge kontroller okTegn=[0,1,2,3,4,5,6,7,8,9]; //de lovlige tegn i password udvid selv med flere tegn
function afbryd() { alert('læs reglerne for passwords'); enForm.pass.value=''; }
function langtNok(str) { if(str.length>=5) ok=true; if(ok==true) korrekteTegn(enForm.pass.value); else alert('Der er ikke nok tegn i dette password!'); }
function korrekteTegn(str) { var i=0; //alert(str); //passwordet fjern den senere while (i<str.length) { for ( var tegn in okTegn ) if (str.charAt( i ) == tegn) {ok=true; break;} else ok=false; if (ok==false) { alert('ulovligt password!'); afbryd(); break; } i++; } }
hej igen naj den var mindre god.. :) kort sagt var det iteratoren der blev tjekket mod passwordet nå.. Det her er mere smidigt Hvis der indtastes et forkert tegn siger den fra straks så fejlen ses før der submittes håber den dur <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <STYLE TYPE="text/css"> </STYLE>
<SCRIPT TYPE="text/javascript"> <!-- var fejl=true; var okTegn= ["1","2","3","4","5","6","7","8","9","a","b","c","d","§"]; //ethvert tegn
function op(){ }
function advarBruger() { alert('Ulovligt tegn i password'); enForm.tFelt.value=""; }
function tjeksize() { var str=enForm.tFelt.value; if(str.length<5) alert('Der er ikke nok tegn i dette password!'); enForm.tFelt.value=""; }
function tjekLovlig() { var streng = enForm.tFelt.value; var token = enForm.tFelt.value.charAt(enForm.tFelt.value.length-1) for (i=0; i<=okTegn.length; i++) { if ( token == okTegn[i]) {fejl=false; break;} else if(i>=okTegn.length) advarBruger();
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.