Avatar billede brian_h Nybegynder
26. august 2002 - 17:57 Der er 8 kommentarer og
1 løsning

RegExp

Hey... Skal bruge et RegExp der tjekker et form-input.
Den skal returnere True, hvis inputtet opfylder følgende :
karakter a-z (ikke æøå), samt at gerne der må være et, eller flere bindestreger...
fx, skal den returnere True ved dette:
brian-holmgaard, men False ved dette :
brian.holmgård

Har selv forsøgt, men det virker nada :

var RegExpString = new RegExp("/[A-Z][a-z][0-9]/");

Det er i JS, bare så i ved det...

/Brian!
Avatar billede limemedia Nybegynder
26. august 2002 - 17:59 #1
prøv med
if(!str.match(/^[a-z-]+$/i)) {
  return true;
} else {
  return false;
}

strengen der valideres hedder her str
Avatar billede brian_h Nybegynder
26. august 2002 - 18:02 #2
Vil gerne du sætter den op som en funktion... så er det superb
Avatar billede limemedia Nybegynder
26. august 2002 - 18:04 #3
funktion kaldmignogetfornuftigt(str) {
  if(!str.match(/^[a-z-]+$/i)) {
    return true;
  } else {
    return false;
  }
}

omdøb evt. funktionen :) *g*
Avatar billede brian_h Nybegynder
26. august 2002 - 18:13 #4
Hmm, virker sgu ikke helt som det skal : her er min kode ;

    <script language="JavaScript" type="text/javascript">
        function chkName(str) {
            if(!str.match(/^[a-z-]+$/i)) {
                return true;
            } else {
                return false;
            }
        }
       
        function chkFrm() {
       
            var objfrm = document.all.frmUrl;
           
            if (!chkName(objfrm.strName.value) || objfrm.strName.value == '') {
                alert('Adressen : www.' + objfrm.strName.value + objfrm.topLevel.value + ' er ikke gyldig!');
                objfrm.strName.focus();
                return false;
            } else {
                objfrm.submit();
            }
        }   
    </script>
</head>
<body style="background-color : #dddddd ;">
    <form action="testurl.asp?mode=ok" method="post" name="frmUrl">
        www.<input type="text" name="strName" />
        <select name="topLevel">
            <option value=".dk">.dk</option>
            <option value=".com">.com</option>
            <option value=".net">.net</option>
        </select>
        <input type="button" name="test" value="test url" onclick="chkFrm();" />
    </form>
<% If Request.QueryString("mode") = "ok" Then
    Response.Write("Adressen : www." & Request.Form("strName") & Request.Form("topLevel") & " er godkendt<br /><br /><a href=""testurl.asp"">Test igen?</a>")
End If %>
Avatar billede limemedia Nybegynder
26. august 2002 - 18:18 #5
var lige et true/false der vendte forkert - prøv med
function chkName(str) {
    if(str.match(/^[a-z-]+$/i)) {
        return true;
    } else {
        return false;
    }
}
Avatar billede brian_h Nybegynder
26. august 2002 - 18:19 #6
Den må kun acceptere følgende karakterer (rækkefølge ligegyldig og antal tegn ligegyldig) :

abcdefghijklmnopqrstuvxyz (a-z)
ABCDEFGHIJKLMNOPQRSTUVXYZ (A-Z)
0123456789 (0-9)
- (bindestreg)

alle andre brugte karakterer, er ulovlige!
Avatar billede brian_h Nybegynder
26. august 2002 - 18:20 #7
hmm, yeah - men virker stadig ikke optimalt...
den returnerer fx ikke fejl ved æ, eller tegnet < ... og de tegn må den ikke indeholde...
Avatar billede limemedia Nybegynder
26. august 2002 - 18:22 #8
0-9 er tilføjet, jeg har testet med æøå og bliver afvist, < bliver ligeledes afvist...

Koden jeg tester med er

<script language="JavaScript" type="text/javascript">
function chkName(str) {
    if(str.match(/^[a-z0-9-]+$/i)) {
        return true;
    } else {
        return false;
    }
}

function chkFrm() {

var objfrm = document.all.frmUrl;

if (!chkName(objfrm.strName.value) || objfrm.strName.value == '') {
alert('Adressen : www.' + objfrm.strName.value + objfrm.topLevel.value + ' er ikke gyldig!');
objfrm.strName.focus();
return false;
} else {
objfrm.submit();
}
}
</script>
</head>
<body style="background-color : #dddddd ;">
<form action="testurl.asp?mode=ok" method="post" name="frmUrl">
www.<input type="text" name="strName" />
<select name="topLevel">
<option value=".dk">.dk</option>
<option value=".com">.com</option>
<option value=".net">.net</option>
</select>
<input type="button" name="test" value="test url" onclick="chkFrm();" />
</form>
Avatar billede brian_h Nybegynder
26. august 2002 - 18:32 #9
tak for hjælpen... nu virker mit også;)
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