Avatar billede ldplusse Nybegynder
29. januar 2003 - 01:17 Der er 8 kommentarer og
1 løsning

Check for tilladte tegn

Jeg har et lille javascript, som skulle tjekke for tilladte tegn.
-------------------------
<SCRIPT LANGUAGE='JAVASCRIPT'>
function checkField() {
        for (var i=0, len=document.domainchecker.Domain.value.length-1, valid='0123456789abcdefghijklmnopqrstuvwxyz-' ; i<len ; i++) {
        if (valid.indexOf(document.domainchecker.Domain.value.substring(i,i+1)) == -1) {
            alert('Ugyldigt domænenavn!!!!!!');
            return false;
        }
    return true;
}
}
</SCRIPT>
---------------------------
hvis man i formen, har skrevet feks. "æøææøsdfsfd", så virker det.
Men skriver man "dfasfsdfæøå" altså de ugyldige tegn længere inde, så virker scriptet ikke.

Hvad skal ændres for at den kun tillader de tegn som jeg bestemmer.
Avatar billede erikjacobsen Ekspert
29. januar 2003 - 01:31 #1
Din return true står inden i for-sætningen. Den skal
rykkes udenfor.

Hvis du skrev din kode pænere ville du selv kunne se det med
det samme.
Avatar billede ldplusse Nybegynder
29. januar 2003 - 01:37 #2
Jeg kan slet ikke programmere i Javascript, derfor er dette slet ikke min kode.

Jeg har nu flyttet lidt rundt som du sagde, så det virker nu, tak for det.
Men du skal lige lave et svar.

-------------------
}
    return true;
}
</SCRIPT>
-------------------
Avatar billede erikjacobsen Ekspert
29. januar 2003 - 01:42 #3
Hvis du ikke kan programmere JavaScript burde du principiekt
holde dig fra det, men dette klarede du jo fint !!

Nej, jeg skal ikke have point. Får jeg point ender jeg
bare med at få et ligegyldigt PRO-abonnement smidt i
hovedet af eksperten.dk - den slags kan man åbenbart ikke
slippe for. Behold du bare dine point selv.
Avatar billede ldplusse Nybegynder
29. januar 2003 - 01:43 #4
Hvordan laver jeg det så der er 2 forskellige Javascripts check.
Der er nemlig forskel på hvilke tegn der er tilladte på forskellige domæner.
Feks. er æøå tilladt på .com .nu  m.m.

Min form ser således ud.
-------------------------------------
<form NAME="domainchecker" method="POST" action="domaincheck.asp" onSubmit="return checkField();">
<p>www.
<input type="text" name="Domain" size="25" value="<%=strDomain%>" style="font-size: 10px">
    <select name="land" style="font-size: 10px">
      <option value=".dk"<% if request("land") = ".dk" Then %>selected<% end if %>>.dk
      <option value=".com"<% if request("land") = ".com" Then %>selected<% end if %>>.com
      <option value=".net"<% if request("land") = ".net" Then %>selected<% end if %>>.net
      <option value=".org"<% if request("land") = ".org" Then %>selected<% end if %>>.org
    </select>
<input type="submit" value="Test Domæne" name="" style="font-size: 10px"></p>
</form>
-------------------------------------------------------------
Så en metode til at lave forskellige regler til de forskelige TLD. (.com, .nu, .info .......), ville være fedt.
Så giver jeg flere points
Avatar billede ldplusse Nybegynder
29. januar 2003 - 01:46 #5
Tak for det erikjacobsen.

Jeg vil entlig også helst kun programmere i ASP, men der er nogle funktioner, som jeg kun kan få til at virke i javascript. Såsom små popup vinduer.
Avatar billede atoft Nybegynder
29. januar 2003 - 19:52 #6
Prøv dette.


<SCRIPT LANGUAGE='JAVASCRIPT'>
var domains = {};
domains[".com"] = "0123456789abcdefghijklmnopqrstuvwxyzæøå-";
domains[".org"] = "0123456789abcdefghijklmnopqrstuvwxyz-";


function checkField() {
    var valid=domains[document.domailchecker.land.value];

  for (var i=0, len=document.domainchecker.Domain.value.length-1 ; i<len ; i++) {
      if (valid.indexOf(document.domainchecker.Domain.value.substring(i,i+1)) == -1) {
        alert('Ugyldigt domænenavn!!!!!!');
      return false;
      }
    }
  return true;
}
</SCRIPT>


Du kan så lave lister over TLD'er komplet.
Avatar billede ldplusse Nybegynder
29. januar 2003 - 22:34 #7
Atoft, det virker næsten.

Alt ser ud til at virke, dog så hvis man skriver "test." hvilket er ugyldigt, så fanger den det ikke, men sriver man "test.test" så siger den det er ugyldigt.
Det er jo lidt mærkeligt, at der skal stå nået efter "." (punktum) for at den siger det er ugyldigt.
Der er ingen problemer med "æøå", der opfører den sig rigtigt.

Den er næsten i hus, mangler bare lige en expert der kan se den sidste fejl!!
Avatar billede atoft Nybegynder
30. januar 2003 - 07:57 #8
Du skal bare lave følgende om.

for (var i=0, len=document.domainchecker.Domain.value.length-1 ; i<len ; i++) {

ændres til

for (var i=0, len=document.domainchecker.Domain.value.length ; i<len ; i++) {

bemærk jeg har slettet -1
Avatar billede ldplusse Nybegynder
30. januar 2003 - 18:36 #9
Virker perfekt nu, tak for 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

Seneste spørgsmål Seneste aktivitet
I går 21:00 Libre Office Impress Af Frank i Andre styresystemer
I går 11:47 VB script Af Jenshentze i Word
I går 11:21 Popup ved opstart Af mort1 i Windows
04/0918:50 Slet lokal konto Af ErikHg i Windows
04/0916:05 Ændre tal i en celle Af xvid i Excel