08. juli 2004 - 12:28Der er
10 kommentarer og 1 løsning
Tjek felter og valider
Heysa, jeg har nogle felter som en bruger SKAL udfylde, samt den tjekke om de to indtastede adgangskoder er de samme, men jeg vil også gerne kunne definere min. længden på felterne.
Samt se om det er en gyldig email adresse..
Har følgende kode:
<script>
function checkPw(TheForm) { password = TheForm.nf_pwd1.value; password2 = TheForm.nf_pwd2.value;
function checkPw(TheForm) { password = TheForm.nf_pwd1.value; password2 = TheForm.nf_pwd2.value;
if (password != password2) { alert ("De indtastede adgangskoder matchede ikke.\nVær venlig at prøv igen.") return false; } return true; } function checkEm(TheForm) { email = TheForm.nf_email1.value; email2 = TheForm.nf_email2.value;
if (email != email2) { alert ("De indtastede emails matchede ikke.\nVær venlig at prøv igen.") return false; } var t = "\\wáàãââæåçéèêëìíîïñòóôõöøùúûüýÿ"; var regexp = new RegExp("^["+t+"]["+t+"\\.\\-]*@["+t+"]["+t+"\\.\\-]*\\.[\\w]{2,6}$","i"); if(!regexp.test(email)||/(\.@|\-@|\-\-|\.\.)/g.test(fld.value)){ alert ("Den indtastede emailadresse er ikke gyldig.\nVær venlig at prøv igen.") return false; } return true; }
function verify(TheForm) { var themessage = ""; if (TheForm.nf_profilename.value=="") { themessage += "\nProfilnavn"; } if (TheForm.nf_pwd1.value.length<4) { themessage += "\nAdgangskode"; } if (TheForm.nf_pwd2.value.length<4) { themessage += "\nBekræft adgangskode"; } if (TheForm.nf_email1.value=="") { themessage += "\nEmail"; } if (TheForm.nf_email2.value=="") { themessage += "\nBekræft email"; } if (themessage == "") { return true; } alert("Du er nødt til at udfylde følgende felter: " + themessage); return false; }
function CheckMinForm(inpForm) { if (!verify(inpForm)) { return false; } if (!checkPw(inpForm)) { return false; }; if (!checkEm(inpForm)) { return false; }; return true; }
var t = "\\wáàãââæåçéèêëìíîïñòóôõöøùúûüýÿ"; var regexp = new RegExp("^["+t+"]["+t+"\\.\\-]*@["+t+"]["+t+"\\.\\-]*\\.[\\w]{2,6}$","i"); if(!regexp.test(email)||/(\.@|\-@|\-\-|\.\.)/g.test(email)){ alert ("Den indtastede emailadresse er ikke gyldig.\nVær venlig at prøv igen.") return false; }
Jeg havde også slået til at den skal vise alle fejl, og den virker altså ikke.
<script type="text/javascript">
function checkPw(TheForm) { password = TheForm.nf_pwd1.value; password2 = TheForm.nf_pwd2.value;
if (password != password2) { alert ("De indtastede adgangskoder matchede ikke.\nVær venlig at prøv igen.") return false; } return true; } function checkEm(TheForm) { email = TheForm.nf_email1.value; email2 = TheForm.nf_email2.value;
if (email != email2) { alert ("De indtastede emails matchede ikke.\nVær venlig at prøv igen.") return false; } var t = "\\wáàãââæåçéèêëìíîïñòóôõöøùúûüýÿ"; var regexp = new RegExp("^["+t+"]["+t+"\\.\\-]*@["+t+"]["+t+"\\.\\-]*\\.[\\w]{2,6}$","i"); if(!regexp.test(email)||/(\.@|\-@|\-\-|\.\.)/g.test(email)){ alert ("Den indtastede emailadresse er ikke gyldig.\nVær venlig at prøv igen.") return false; }
function verify(TheForm) { var themessage = ""; if (TheForm.nf_profilename.value=="") { themessage += "\nProfilnavn"; } if (TheForm.nf_pwd1.value.length<4) { themessage += "\nAdgangskode"; } if (TheForm.nf_pwd2.value.length<4) { themessage += "\nBekræft adgangskode"; } if (TheForm.nf_email1.value=="") { themessage += "\nEmail"; } if (TheForm.nf_email2.value=="") { themessage += "\nBekræft email"; } if (themessage == "") { return true; } alert("Du er nødt til at udfylde følgende felter: " + themessage); return false; }
function CheckMinForm(inpForm) { return verify(inpForm)&&checkPw(inpForm)&&checkEm(inpForm) } </script>
Du har fået fjernet return true efter regexp-tingen, det skal lige ind igen:
var t = "\\wáàãââæåçéèêëìíîïñòóôõöøùúûüýÿ"; var regexp = new RegExp("^["+t+"]["+t+"\\.\\-]*@["+t+"]["+t+"\\.\\-]*\\.[\\w]{2,6}$","i"); if(!regexp.test(email)||/(\.@|\-@|\-\-|\.\.)/g.test(email)){ alert ("Den indtastede emailadresse er ikke gyldig.\nVær venlig at prøv igen.") return false; } return true; }
Kan man ikke gøre så den siger at antallet af tegn er for lidt... Nu siger den bare man skal huske at udfylde adgangskode selvom man har skrevet 3 tegn.... Den skal sige at adgangskoden skal min. være 5 teng fx. det samme med profilnavn.
Lige nu brokker den sig faktisk, hvis du kun har tre tegn !-)
-- vil du have en bedre meddelelse, kan du f.eks.
if (TheForm.nf_pwd1.value.length<4) { themessage += "\nAdgangskode med mindst 4 tegn"; } if (TheForm.nf_pwd2.value.length<4) { themessage += "\nBekræft adgangskode med mindst 4 tegn"; }
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.