Avatar billede peppino Nybegynder
04. juli 2002 - 18:35 Der er 15 kommentarer og
1 løsning

Hvordan laver jeg disse funktioner?

Hej!!

Hvordan gør jeg det her:

Om ens rigtige navn er uden tal
Om der er noget @ i ens email
Om ens website inderholder http://, www eller .dk

/Peppino
Avatar billede michaelb Nybegynder
04. juli 2002 - 18:37 #1
Tror kun det kan laves i asp
Avatar billede peppino Nybegynder
04. juli 2002 - 18:38 #2
jeg fik ellers at vide at jeg kunne lave det i javascript
Avatar billede gizmo-gizmo Nybegynder
04. juli 2002 - 18:39 #3
man kan godt i javascript... noget med math. noget...
Avatar billede peppino Nybegynder
04. juli 2002 - 18:40 #4
hvordan?? Koder tak
Avatar billede gizmo-gizmo Nybegynder
04. juli 2002 - 18:42 #5
regex = '^[0-9\+ ]+$';
if (streng.match(regex)) {
så tjekker den kun tal. Men vent hellere til der kommer en med mere forstand på det :o)
Avatar billede peppino Nybegynder
04. juli 2002 - 18:59 #6
okay
Avatar billede jakoba Nybegynder
04. juli 2002 - 19:02 #7
var reKunTal = new RegExp( "^[0-9]+$", "" );
            // kun cifre
var reKunBogst = new RegExp( "^[a-zæøå]+$", "i" );
            // kun bogstaver
var reKunBogst = new RegExp( "^[a-zæøå]+([ \\.-][a-zæøå]+)*$", "i" );
            // kun bogstaver evt med blanktegen, punktum eller bindestreg imellem ord
var reAtTegn = new RegExp( "^[a-zæøå_\\.-]+@[a-zæøå_\\.-]+$", "i" );
            // det ligner en email
// for at teste

if ( reAtTegn.test( dinstreng ) ) {
    // Ja det er nok en email adresse
} else {
    // Fy, det er ikke en email
}

og ligedan med de andre.

mvh JakobA
Avatar billede peppino Nybegynder
04. juli 2002 - 19:24 #8
jeg er helt newbie ang. javascript, kan du ikke lave det sådan at der kommer en alert op hvor der står "Det er ikke en e-mail adresse"
Avatar billede jakoba Nybegynder
04. juli 2002 - 19:27 #9
OK. læg et link til din side med den formular der skal laves "er det ordentligt udfyldt?" test på. så laver jeg et script der tester.
Avatar billede peppino Nybegynder
04. juli 2002 - 19:36 #10
Avatar billede jakoba Nybegynder
04. juli 2002 - 20:33 #11
Jeg har tilføjet flere tests end jeg tror du har brug for. pas fx på med at KRÆVE at folk skal indtaste deres ICQ nummer. nogen mennesker har ikke ICQ.


<script type='text/javascript'>

var reKunCifre = new RegExp( "^[0-9]+$", "" );
            // kun cifre
var reKunBogst = new RegExp( "^[a-zæøå]+$", "i" );
            // kun bogstaver
var reKunBogstCifre = new RegExp( "^[a-zæøå0-9]+$", "i" );
            // kun bogstaver og cifre
var reNavn = new RegExp( "^[a-zæøå]+([ \\.-][a-zæøå]+)*$", "i" );
            // kun bogstaver evt med blanktegen, punktum eller bindestreg imellem ord
var reAtTegn = new RegExp( "^[a-zæøå_\\.-]+@[a-zæøå_\\.-]+$", "i" );
            // det ligner en email

function valider ( frmObj ) {
        // 'brugernavn' skal være eet ord, med kun bogstaver og cifre i.
    if ( ! reKunBogstCifre.test( frmObj.brugernavn.value ) ) {
        alert( "brugernavn skal udfyldes med et enkelt ord." );
        frmObj.brugernavn.focus();  // sæt cursoren i det felt
        return false;    // lad være at sende, der skal rettes.
    }

        // 'password' skal være eet ord, med kun bogstaver og cifre
    if ( ! reKunBogstCifre.test( frmObj.password.value ) ) {
        alert( "password skal udfyldes med et enkelt ord." );
        frmObj.password.focus();  // sæt cursoren i det felt
        return false;    // lad være at sende, der skal rettes.
    }

        // 'password1' skal være det samme som password
    if ( frmObj.password.value != frmObj.password1.value ) ) {
        alert( "password og password1 skal være ens" );
        frmObj.password1.focus();  // sæt cursoren i det felt
        return false;    // lad være at sende, der skal rettes.
    }

        // 'navn' skal være et eller flere ord med  , - eller . imellem
    if ( ! reNavnCifre.test( frmObj.navn.value ) ) {
        alert( "Navn skal udfyldes med dit navn." );
        frmObj.navn.focus();  // sæt cursoren i det felt
        return false;    // lad være at sende, der skal rettes.
    }

        // der skal være valgt noget i 'dag'
    if ( frmObj.dag.selectedIndex < 0 ) {
        alert( "vælg kag." );
        frmObj.dag.focus();  // sæt cursoren i det felt
        return false;    // lad være at sende, der skal rettes.
    }

        // der skal være valgt noget i 'mdr'
    if ( frmObj.mdr.selectedIndex < 1 ) {
        alert( "vælg måned." );
        frmObj.mdr.focus();  // sæt cursoren i det felt
        return false;    // lad være at sende, der skal rettes.
    }

        // der skal være valgt noget i 'year'
    if ( frmObj.year.selectedIndex < 1 ) {
        alert( "vælg år." );
        frmObj.year.focus();  // sæt cursoren i det felt
        return false;    // lad være at sende, der skal rettes.
    }

        // der skal være valgt mand eller kvinde i 'kon'
    if ( frmObj.kon.selectedIndex < 1 ) {
        alert( "vælg køn." );
        frmObj.kon.focus();  // sæt cursoren i det felt
        return false;    // lad være at sende, der skal rettes.
    }

        // 'email' skal indeholde et @-tegn
    if ( ! reAtTegn.test( frmObj.email.value ) ) {
        alert( "Skriv en lovlig email adresse." );
        frmObj.email.focus();  // sæt cursoren i det felt
        return false;    // lad være at sende, der skal rettes.
    }

        // 'icq' skal være bar cifre
    if ( ! reKunCifre.test( frmObj.icq.value ) ) {
        alert( "icq nummer skal være et tal" );
        frmObj.icq.focus();  // sæt cursoren i det felt
        return false;    // lad være at sende, der skal rettes.
    }

        // 'website' tester jeg ikke.
    // ingen test her.

        // 'besked' kan være hvadsomhelst. evt ingenting
    // ingen test her.

    return true;  // alle tests gik godt. send formularen.

}; //end valider ( Form object ) -> boolean

</script>


i din form kommando tilføjer du en onsubmit handler  onsubmit="return valider(this)"  den bliver aktiveret når brugeren trykker på 'Registrer' knappen og starter så funktionen valider. Hvis valider returnerer false bliver din form ikke sendt alligevel, istedet skal brugeren rette i det der er tastet ind så det bliver bedre.

<form method="post" action="default.asp?side=addbruger" id="form" name="form" onsubmit="return valider(this)">

mvh JakobA
Avatar billede peppino Nybegynder
04. juli 2002 - 20:49 #12
der er et eller andet galt med den her linje: 
if ( frmObj.password.value != frmObj.password1.value ) ) {
jeg ved bare ikke hvad
Avatar billede jakoba Nybegynder
04. juli 2002 - 20:53 #13
Ups. ja, (formeget cut&paste)  der er en slutparentes formeget, så parenteserne ikke balancerer.
Avatar billede peppino Nybegynder
04. juli 2002 - 20:56 #14
den tjekker ikke den her eller også er den forkert:
        // 'email' skal indeholde et @-tegn
    if ( ! reAtTegn.test( frmObj.email.value ) ) {
        alert( "Skriv en lovlig email adresse." );
        frmObj.email.focus();  // sæt cursoren i det felt
        return false;    // lad være at sende, der skal rettes.
    }
Avatar billede jakoba Nybegynder
04. juli 2002 - 21:01 #15
hvilket testinput giver ikke korrekt resultat?
Avatar billede peppino Nybegynder
04. juli 2002 - 21:05 #16
lige meget har rettet det.
Tak for hjælpen
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