Avatar billede madx Nybegynder
28. januar 2004 - 12:42 Der er 10 kommentarer og
2 løsninger

Validering af tal i form-input (format 12-3456 og 123456)

Hej
Jeg har noget validering kørende på en søgefunktion.

Jeg vil gerne udbygge valideringen til at omfatte tal, indenfor de 2 formater xx-xxxx og xxxxxx, hvor x kan være alt ml. 0 og 9.

Således at der alertes på tal som 86-2376 eller 569372.

Hilsen M.


Scriptet ser lige nu sådan ud
<SCRIPT LANGUAGE=javascript>
function validateForm(theForm)
{
    if (theForm.search.value == "Tekstsøgning"){
        alert("Indtast relevant søgeord!");
        theForm.search.focus();
        return false;
    }
    if (theForm.search.value == ""){
        alert("Indtast søgeord!");
        theForm.search.focus();
        return false;
    }
   
return true;
}
</SCRIPT>
Avatar billede mm12010 Nybegynder
28. januar 2004 - 12:54 #1
if(!frm.tal.value.match(/^\d{2,2}
  • {0,1}\d{4,4}$/)){
        alert("fejl");
        return false;
        }
Avatar billede nute Nybegynder
28. januar 2004 - 13:00 #2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <title>Untitled</title>
    <script language="JavaScript" type="text/javascript">
    <!--
    function validate()
    {
        var objTextElement = document.getElementById( "txt" );
        if( objTextElement )
        {
            if( objTextElement.value == "Tekstsøgning" )
            {
                alert( "Indtast relevant søgeord!");
                objTextElement.focus();
                return false;
            }
            else
            {
                var objRegExp = /^[0-9]{2}
  • ?[0-9]{4}$/gi;
                alert( objRegExp.test( objTextElement.value ) );
            }
        }
    }
    //-->
    </script>
</head>

<body>
<form id="frm">
<input type="text" id="txt" value="Tekstsøgning" onfocus="this.value='';"><br>
<input type="button" onclick="validate()" value="submit"></form>
</body>
</html>

/nute

PS! 120 points for dette, er 90 points for meget ;-)
Avatar billede nute Nybegynder
28. januar 2004 - 13:01 #3
ups ...

disse linjer:

var objRegExp = /^[0-9]{2}
  • ?[0-9]{4}$/gi;
                alert( objRegExp.test( objTextElement.value ) );


skal være:

var objRegExp = /^[0-9]{2}
  • ?[0-9]{4}$/gi;
if( !objRegExp.test( objTextElement.value ) )
{
    alert( "tast korrekt format" );
    return false;
}
Avatar billede madx Nybegynder
28. januar 2004 - 13:06 #4
-> mm12010 - tager dit begge formater?

point eller ej, sorry men jeg er sgu ikke så hård til js og da jeg ikke kunne finde noget derude syntes, tjaa = 120

jeg tester senere og returnerer
Avatar billede nute Nybegynder
28. januar 2004 - 13:16 #5
madx >> pointsystemet er ikke baseret på hvad den der stiller spm'et har af kundskaber om problemstillingen ... det er basert på vanskelighedsgraden af problemet. Antal points skal reflektere hvor svært det er at løse et problem - og som det står når du opretter et spm:

15 = let
30 = middels
60 = svært

det kan godt være jeg synes det er pissesvært at koge kartofler, men for en kok, er det det nemmeste i hele verden. grunden til at jeg synes det er svært, er fordi jeg ikke har brugt lidt tid på at sætte mig ind i hvordan det skal gøres. Jeg ved det er nemt at koge kartofler og derfor vil jeg ikke betale en kok 30K for at koge mine kartofler ... ;-)

/nute

PS! løsningen til mm12010  er "identisk" med min løsning ... den er bare skrevet lidt anderledes, så den vil også tage begge formater
Avatar billede madx Nybegynder
30. januar 2004 - 12:07 #6
hej, til jeres og andres orientering blev løsningen en blanding af jeres begge og kom til at se sådan ud:

function validering(sogfelt)
{
    if (sogfelt.search.value == "Tekstsøgning"){
        alert('Indtast et søgeord i søgefeltet før du søger!');
        sogfelt.search.focus();
        return false;
    }
    if (sogfelt.search.value == ""){
        alert('Søgefeltet var tomt - indtast et søgeord!');
        sogfelt.search.focus();
        return false;
    }
   
    if (sogfelt.search.value.match(/^[0-9]{2}
  • ?[.]?[ ]?[/]?[0-9]{4}$/)){
        alert('Tekstsøgning omfatter ikke søgning på katalognr.');
        sogfelt.search.focus();
        return false;
        }
return true;
}
Avatar billede madx Nybegynder
30. januar 2004 - 12:08 #7
Så jeg deler point ligeligt, der er jo vist nok til alle ;-)
Avatar billede nute Nybegynder
30. januar 2004 - 12:35 #8
*svar*
:-)
Avatar billede mm12010 Nybegynder
31. januar 2004 - 18:01 #9
svar :o)
Avatar billede madx Nybegynder
01. februar 2004 - 13:25 #10
eksperten lukkede midt i pointfordelingen forleden dag.... derfor det pludselige break....

(undrer mig over hvorfor de altid skal vedligeholde 1 time midt på dagen)

tak for alle input, M.
Avatar billede mm12010 Nybegynder
02. februar 2004 - 11:05 #11
selv tak :o)
Avatar billede nute Nybegynder
02. februar 2004 - 12:34 #12
selv tak ... anytime

/nute
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