Avatar billede themaster Nybegynder
27. marts 2004 - 17:18 Der er 18 kommentarer og
2 løsninger

tjekke for @ i form

Hej Exp's

Jeg har lavet dette lille script, der tjekker om email-adressen indholder @.

var t, n
n = document.opret_form.mail.value.length
for (t = 0;t < n;t++) {
  if(document.opret_form.mail.value.charat(t)!="@") {
    alert("Du har ikke skrevet en gyldig email-adresse.");
    return false;
  }
}

Men den vil ikke udfører handlingen.
Hvad er der galt??

//themaster
Avatar billede themaster Nybegynder
27. marts 2004 - 17:19 #1
ups..: n = document.opret_form.mail.value.length;
Avatar billede htm Nybegynder
27. marts 2004 - 17:36 #2
Lidt nemmere at bruge indexOf...

a = "en@emailadresse.dk";
if ( a.indexOf("@") < 1 )
  alert("Du har ikke skrevet en gyldig email-adresse.");

Men ellers mangler du vist et ; efter var t,n
Avatar billede olebole Juniormester
27. marts 2004 - 17:46 #3
<ole>

Denne her er nok lidt mere grundig:

if ( !document.opret_form.mail.value.match(/^[^\.]?[\w\.-]+@[^\.]?[\w\.-]+\.[A-Z]{2,4}$/i) ) {
    alert( 'Tumpe...en RIGTIG email!!!\n...Dohhh...' );
    return false;
}

/mvh
</bole>
Avatar billede themaster Nybegynder
27. marts 2004 - 17:47 #4
Jeg kan stadig ikke få det til at virke. Den lille stump jeg sturte efter er en del af et støre validerings-script. Her er det:

<script language="javascript">
// Dette script tjekker om formen er udfyldt korrekt.
function tjek() {
var n;
        if(document.opret_form.fornavn.value=="") {
            alert("Du skal skrive dit fornavn.");
            document.opret_form.fornavn.focus();
            return false;
        }
        if(document.opret_form.efternavn.value=="") {
            alert("Du skal skrive dit efternavn.");
            document.opret_form.efternavn.focus();
            return false;
        }
        if(document.opret_form.adresse.value=="") {
            alert("Du skal angive din adresse.");
            document.opret_form.adresse.focus();
            return false;
        }
        if(document.opret_form.postnr.value=="") {
            alert("Du skal angive dit postnr.");
            document.opret_form.postnr.focus();
            return false;
        }
        if(document.opret_form.bopael.value=="") {
            alert("Du skal angive dit postnr.");
            document.opret_form.bopael.focus();
            return false;
        }
        if(document.opret_form.mail.value=="") {
            alert("Du skal skrive din email-adresse.");
            document.opret_form.mail.focus();
            return false;
        }
    n = document.opret_form.mail.value;
        if(n.indexof("@") < 1) {
            alert("Du har ikke skrevet en gyldig email-adresse.");
            return false;
        }
        if(document.opret_form.nick.value=="") {
            alert("Du skal skrive et nickname.");
            document.opret_form.mail.focus();
            return false;
        }
        if(document.opret_form.pwd1.value=="") {
            alert("Du skal skrive en adgangskode.");
            document.opret_form.pwd1.focus();
            return false;
        }
        if(document.opret_form.pwd1.value.length < 5) {
            alert("Din adgangskode skal mindst være på 5 tegn.");
            document.opret_form.pwd1.focus();
            return false;
        }
        if(document.opret_form.pwd1.value!=document.opret_form.pwd2.value) {
            alert("De to adgangskoder er ikke ens!!!");
            document.opret_form.pwd2.focus();
            return false;
        }
}
</script>

Kan du se hvad fejlen kan være?

//themaster
Avatar billede olebole Juniormester
27. marts 2004 - 17:48 #5
... og så måske lige en:
  document.opret_form.mail.focus();
inden linien med 'return false'  :)
Avatar billede olebole Juniormester
27. marts 2004 - 17:49 #6
JavaScript er case-sensitive: indexOf("@")
Avatar billede themaster Nybegynder
27. marts 2004 - 17:54 #7
er ked af at sige det, men det virker sku ikke.....
Avatar billede olebole Juniormester
27. marts 2004 - 17:56 #8
Jo, begge vores forslag virker helt efter hensigten  :)
Avatar billede htm Nybegynder
27. marts 2004 - 17:59 #9
Får du nogen fejl eller lign... Har du en side vi kan se det på?
Avatar billede themaster Nybegynder
27. marts 2004 - 18:02 #10
olebole >>

Her min kode:

<script language="javascript">
// Dette script tjekker om formen er udfyldt korrekt.
function tjek() {
        if(document.opret_form.fornavn.value=="") {
            alert("Du skal skrive dit fornavn.");
            document.opret_form.fornavn.focus();
            return false;
        }
        if(document.opret_form.efternavn.value=="") {
            alert("Du skal skrive dit efternavn.");
            document.opret_form.efternavn.focus();
            return false;
        }
        if(document.opret_form.adresse.value=="") {
            alert("Du skal angive din adresse.");
            document.opret_form.adresse.focus();
            return false;
        }
        if(document.opret_form.postnr.value=="") {
            alert("Du skal angive dit postnr.");
            document.opret_form.postnr.focus();
            return false;
        }
        if(document.opret_form.bopael.value=="") {
            alert("Du skal angive dit postnr.");
            document.opret_form.bopael.focus();
            return false;
        }
        if(document.opret_form.mail.value=="") {
            alert("Du skal skrive din email-adresse.");
            document.opret_form.mail.focus();
            return false;
        }
if ( !document.opret_form.mail.value.match(/^[^\.]?[\w\.-]+@[^\.]?[\w\.-]+\.[A-Z]{2,4}$/i) ) {
    alert( 'Tumpe...en RIGTIG email!!!\n...Dohhh...' );
    return false;
}
        if(document.opret_form.nick.value=="") {
            alert("Du skal skrive et nickname.");
            document.opret_form.mail.focus();
            return false;
        }
        if(document.opret_form.pwd1.value=="") {
            alert("Du skal skrive en adgangskode.");
            document.opret_form.pwd1.focus();
            return false;
        }
        if(document.opret_form.pwd1.value.length < 5) {
            alert("Din adgangskode skal mindst være på 5 tegn.");
            document.opret_form.pwd1.focus();
            return false;
        }
        if(document.opret_form.pwd1.value!=document.opret_form.pwd2.value) {
            alert("De to adgangskoder er ikke ens!!!");
            document.opret_form.pwd2.focus();
            return false;
        }
}
</script>

så prøv lige at besøge www.themaster.dk/opret_bruger.php for at tjekke....

//themaster
Avatar billede olebole Juniormester
27. marts 2004 - 18:04 #11
Den kører da som barnefingre gennem en bakke Kærgåden  :)
Avatar billede olebole Juniormester
27. marts 2004 - 18:06 #12
Jeg får at vide, du synes jeg er en tumpe, når jeg skriver en forkert e-mail - men udfylder resten rigtigt.
Den glider glat igennem, hvis jeg skriver en e-mail, der er korrekt formateret  :)
Avatar billede themaster Nybegynder
27. marts 2004 - 18:06 #13
ok....så er det bare min browser, men jeg har IE 6.0 så der skulle da ikkke være nogle problemmer....men det er der....
Avatar billede htm Nybegynder
27. marts 2004 - 18:06 #14
Mere nøjagtigt kan det ikke siges... Kører fint med undtagelse af efter forkert nickname er focus i email...
Avatar billede htm Nybegynder
27. marts 2004 - 18:08 #15
Har lige tjekket den med IE 6 også. Ingen problemer her :-)
Avatar billede olebole Juniormester
27. marts 2004 - 18:08 #16
themaster >> Jeg har testet i IE6/WinXP-Pro ... kører fint. Prøv at tømme din cache  ;o)
Avatar billede themaster Nybegynder
27. marts 2004 - 18:11 #17
ok.....jeg overgiver mig....undskyld ulejligheden..... det var nok bare min browser-temp der fuckede (reloadet det dokument mindst 200 gange i dag i samme browser)..læg et svar så kommer der lidt point....

endnu en gang undskyld ulejligheden..

//themaster - may the source be with you.....
Avatar billede htm Nybegynder
27. marts 2004 - 18:22 #18
Det må være oleboles :-)
Avatar billede olebole Juniormester
27. marts 2004 - 18:28 #19
htm >> Lad os bare dele  ;o)
Avatar billede htm Nybegynder
27. marts 2004 - 18:34 #20
hmm ok - så siger vi det :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester