Avatar billede nathan Nybegynder
17. august 2000 - 14:20 Der er 30 kommentarer og
1 løsning

Validering af Domain navn!

hej alle,
Er der nogen har en asp source code liggende omkring validering af domain navn?
f.eks
reglerne er:
antal tegn max = 63
skal kun indeholde a..z og 0..9 samt ”-” og kun 1 ”.”
”-” skal ikke være starten eller enden af navnet
efter ”.” skal være kun ”com”, ”net” eller ”org”

Jeg har lavet noget men den virker ikke helt godt.

Mvh
nathan
Avatar billede hojben Novice
17. august 2000 - 14:26 #1
hehe det er da vist et skjult spørgsmål efter en whois!! Check på http://www.activeserverpages.dk og søg efter et whois script. der kan du se i kilden hvordan!
Avatar billede nathan Nybegynder
17. august 2000 - 14:33 #2
Whois har jeg ikke noget problemmer med! Den virker fint, alt Jeg vil gerne vide er validere en domain navn med nævnte regler, før jeg køre den i Whois database, kan du se, her er der ingen skjult spørgsmål i...
Avatar billede hojben Novice
17. august 2000 - 14:59 #3
*sss* men i din whois checker du jo oxi for hvad der står.. kan du så ikke bare checke 2 gange? første check ser på om der står andet end dine kriterier og giver fejl i så fald. dernæst checker den så om domænet er ledigt..
Avatar billede nathan Nybegynder
17. august 2000 - 15:03 #4
yup der er meningen! men kender du nogen link, hvor jeg kan finde nødvendige streng kommandoer??? til VBS...
Avatar billede nathan Nybegynder
17. august 2000 - 15:53 #5
eller nogen kan klar det? sådan et script løbet af ingen tid? :-)
Avatar billede lojmann Nybegynder
17. august 2000 - 18:58 #6
Avatar billede nathan Nybegynder
17. august 2000 - 19:19 #7
Lojmann>> Tak for linket! men Jeg vil gerne bruge Vbscript i min ASP side...
Avatar billede leander Nybegynder
17. august 2000 - 20:10 #8
Du kan bruge regular expressions. Jeg har noget kode liggende på arb. jeg kan sende i morgen, men så hut jeg hvisker er det:

Tjek længden med

If (Len(strDomain) > 63) Then [gør_noget_ved fejlen]

Benyt også regular expression\'et

objRe.Pattern = \"^[a-zA-Z0-9]+(([a-zA-Z0-9]|
  • )*[a-zA-Z0-9])[.](com|net|org)$\"

Og lav en

If NOT objRe.Test(strDomain) Then [gør_noget_ved_fejlen]


Men jeg kan lige sende noget i morgen ellers...
Avatar billede nathan Nybegynder
17. august 2000 - 20:29 #9
ok! Tak.. Jeg venter på din mail imorgen!
Avatar billede nathan Nybegynder
17. august 2000 - 20:37 #10
mens jeg prøver at kode lidt selv !
Avatar billede morpheus Nybegynder
17. august 2000 - 21:26 #11
Nej, nej, nej....

Han skal da bruge et JavaScript !

Det tjekker form-feltet hvor domænenavnet er indtastet INDEN brugeren sender det afsted !


/DouBle-T

P.S
JavaScript er ikke min stærke side
Avatar billede morpheus Nybegynder
17. august 2000 - 21:27 #12
Svar...:o)
Avatar billede nathan Nybegynder
17. august 2000 - 21:31 #13
Den behøver ikke være en client side script!
derfor VBS er ok!
Avatar billede morpheus Nybegynder
17. august 2000 - 22:03 #14
De ville da være det nemmeste !

Og hurtigste !!!


/DouBle-T
Avatar billede leander Nybegynder
17. august 2000 - 22:09 #15
morph:
Afhængigt af hvad han skal bruge det til vil server side validering nok være nødvendigt alligevel. Javascript kan nemt omgås, og så sidder han med invalide data...
Avatar billede morpheus Nybegynder
17. august 2000 - 22:34 #16
Leander:
Det er da smart, hvis hans server er belastet af meget trafik !
Her kan han endelig få noget af det serveren kunne lave over på klienten !
Avatar billede nathan Nybegynder
17. august 2000 - 22:47 #17
ja, det er måske rigtig! men den her tilfælde, vil jeg gerne have den på server side! :)
Avatar billede leander Nybegynder
18. august 2000 - 08:53 #18
<%Option Explicit

Dim objRe
Dim strDomain
Dim strPattern

strDomain = Request.QueryString(\"domain\")

Set objRe = New RegExp

strPattern = strPattern & \"^[a-zA-Z0-9]+\"        \' Skal starte med et eller flere alfanumeriske karakterer (US)
strPattern = strPattern & \"((
  • |[a-zA-Z0-9])*)*\"    \' Herefter en eller flere [bindestreger efterfulgt af et eller flere alfanumeriske karakterer (US)
strPattern = strPattern & \"[.](com|net|org)$\"        \' Til sidst et punktum, 2-3 bogstaver (US) og slut på linie

objRe.Pattern = strPattern
objRe.IgnoreCase = True
objRe.Global = True

If objRe.Test(strDomain) = FALSE Then
  Response.Write \"UGYLDIGT domæne navn\"
Else
  Response.Write \"GYLDIGT domæne navn\"
End If

Set objRe = Nothing
%>
Avatar billede leander Nybegynder
18. august 2000 - 08:54 #19
Erstat selv strDomain med hvad du vil teste og evt. en anden aktion når domænet er gyldigt/ugyldigt.
Avatar billede nathan Nybegynder
18. august 2000 - 08:55 #20
den ser rigtig ud, Jeg checker den når jeg kommer hjem!
Avatar billede leander Nybegynder
18. august 2000 - 08:56 #21
Damn - jeg glemte længden :-)

<%Option Explicit

Dim objRe
Dim strDomain
Dim strPattern

strDomain = Request.QueryString(\"domain\")

Set objRe = New RegExp

strPattern = strPattern & \"^[a-zA-Z0-9]+\"        \' Skal starte med et eller flere alfanumeriske karakterer (US)
strPattern = strPattern & \"((
  • |[a-zA-Z0-9])*)*\"    \' Herefter en eller flere [bindestreger efterfulgt af et eller flere alfanumeriske karakterer (US)
strPattern = strPattern & \"[.](com|net|org)$\"        \' Til sidst et punktum, 2-3 bogstaver (US) og slut på linie

objRe.Pattern = strPattern
objRe.IgnoreCase = True
objRe.Global = True

If (objRe.Test(strDomain) = FALSE) OR (Len(strDomain) > 63) Then
  Response.Write \"UGYLDIGT domæne navn\"
Else
  Response.Write \"GYLDIGT domæne navn\"
End If

Set objRe = Nothing
%>
Avatar billede nathan Nybegynder
18. august 2000 - 09:34 #22
Leander>> godt! endnu et spørgsmål, hvordan sætte jeg to streng sammen
feks.
streng1=\"lala\"
streng2=\"haha\"
streng3=streng1+streng3
streng3=\"lalahaha\" ?????
fik du spørgsmålet?
Avatar billede leander Nybegynder
18. august 2000 - 12:49 #23
Ja, du mener vel:

streng3=streng1+streng2 <- 2

Du benytter & (concatenation) oprerator\'en

Streng1 = \"LaLa\"
Streng2 = \"HaHa\"
Streng3 = Streng1 & Streng2

Streng3 vil nu være \"LaLaHaHa\".

Du _kan_ godt benytte + operatoren, men den kan give ustabile resultater - så brug &

Den kan også benyttes på tal.

Streng1 = \"LaLa\" & 3

Streng1 er nu \"LaLa3\"
Avatar billede nathan Nybegynder
18. august 2000 - 12:55 #24
ok tak for svaret! Jeg vil prøve det.
Avatar billede nathan Nybegynder
18. august 2000 - 12:56 #25
yak, afvist dit svar! hvorden giver jeg point?, kan du ikke svar mig igen! sorry!
Avatar billede leander Nybegynder
18. august 2000 - 13:09 #26
Plok
Avatar billede nathan Nybegynder
18. august 2000 - 13:21 #27
her får du det 100 point!
Avatar billede leander Nybegynder
18. august 2000 - 15:17 #28
thanks. :-9
Avatar billede nathan Nybegynder
18. august 2000 - 21:43 #29
yak jeg får problem!

Der opstod en Microsoft VBScript-kompileringsfejl fejl \'800a0400\'

En sætning var ventet

/checktest.asp, linje 50

Option Explicit
^

Avatar billede leander Nybegynder
20. august 2000 - 12:49 #30
Underligt... Option Explicit betyder at alle variabler explicit skal dimensioneres. Du kan godt fjerne den, uden at det får bivirkninger på scriptets funktionalitet, men det burde virke.

Jeg testede det på NT Srv. 4.0/IIS4. Strange.

Prøv at ændre scriptet til:

<%Option Explicit%>

<% ...[resten af scriptet]
Avatar billede etlekana Nybegynder
09. september 2000 - 01:37 #31
Du har helt ret Leander, Option Explicit, skal ALTID stå i toppen af scriptet.
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
Uanset kodesprog, så giver vi dig mulighederne for at udvikle det, du behøver.

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