Avatar billede md_craig Nybegynder
06. august 2002 - 18:24 Der er 15 kommentarer og
1 løsning

Tjecke streng for !"#¤%&/()=?@£$ OSV...

det giver næsten sig selv....

men er der ikke en simpel måde i stedet for at skulle ind og kigge efter hver enkelt tegn...
Avatar billede keysersoze Ekspert
06. august 2002 - 18:31 #1
man kan bruge javascript - men hvad er grunden til at der skal tjeckes?
Avatar billede medions Nybegynder
06. august 2002 - 18:35 #2
keyseroze> Hvordan havde du tænkt dig at gøre det gennem JavaScript, hvor du stadivæk ikke måtte tjekke hver enkelt tegn? -bruge Reg.Exp. eller?

//>Rune
Avatar billede gizmo-gizmo Nybegynder
06. august 2002 - 18:57 #3
hvis man vil gøre det med javascript, så kan man:

if (!variabelnavn.match("[!\"#¤%&/\(\)=\?@£$]")) {
    alert('godt');
} else {
    alert('ikke godt');
}
Avatar billede md_craig Nybegynder
07. august 2002 - 08:58 #4
Vil ikke bruge java men VBScript...
Avatar billede md_craig Nybegynder
07. august 2002 - 09:08 #5
jeg kan godt gå ind med e inStr(Streng,"@")

og så må jeg kunne kombinere det således...

a = 0
a = a + InStr(Streng,"@")
a = a + InStr(Streng,"!")
a = a + InStr(Streng,"#")
a = a + InStr(Streng,"¤")

If NOT a = 0 Then
  Fejl
End If

-------------------- /\ eller \/

If a <> 0 Then
  Fejl
End If
Avatar billede md_craig Nybegynder
07. august 2002 - 09:09 #6
men det er jo besværligt ad helvede til....
Avatar billede soes Nybegynder
07. august 2002 - 09:40 #7
jeg har et reg exp løsning liggende finder den lige
Avatar billede soes Nybegynder
07. august 2002 - 09:42 #8
Function CheckInput(inputstr)
Dim regEx
Set regEx = New RegExp
regEx.Pattern = "^[a-zA-Z0-9]+$"
regEx.IgnoreCase = True
CheckInput = regEx.Test(inputstr)
End Function

Response.write(CheckInput("test"))
Avatar billede md_craig Nybegynder
07. august 2002 - 10:31 #9
Forklar lige tak... jeg vil godt have at den gør 2 ting når den finder et tegn... den sætter:

Error = "True"
If type <> "" Then
  Type = Type & ",InvalidPass"
Else
  Type = "InvalidPass"
End If

----------------------------------------------

Hvad er RegExp....

regEx.Pattern = "Di tegn der skal kigges efter eller er det de tegn er er tiladte... forklar lige..."
regEx.IgnoreCase = True ... den kigger på om der er case sensetivety og ignorere det i dette tilfælde eller hvad
CheckInput = regEx.Test(InputStr" eller 'pass' som er min variabel eller hvad")

jeg vil jo gerne vide hvad det er jeg gør-...
Avatar billede soes Nybegynder
07. august 2002 - 10:41 #10
regEx.Pattern - er de tegn som er tilladt
regEx.IgnoreCase - gør så den ikke er casesensetiv
CheckInput gør at den overføre den værdi som bliver resultatet af vores test, enten True eller False
Avatar billede medions Nybegynder
07. august 2002 - 10:42 #11
Her har du en mulighed i VBScript:

<html>
<head>
    <title></title>
</head>
<body>

<script language="VBScript" type="text/vbscript">
    strTekst = "Hej med dig % Hvad laver du?"
    Function Validate(strTekst)
        strTegn = "!,#,¤,%,&,/,(,),=,?,`"
        arrTegn = Split(strTegn,",")
   
        For i = 0 To UBound(arrTegn)
            If InStr(strTekst,arrTegn(i)) Then
                MsgBox("Tegnet " & arrTegn(i) & " findes i teksten!")
            End If
        Next
    End Function
    Validate(strTekst)
</script>

</body>
</html>

//>Rune
Avatar billede soes Nybegynder
07. august 2002 - 10:46 #12
Avatar billede md_craig Nybegynder
07. august 2002 - 11:25 #13
Soes >>> så kan jeg så gøre nogenlunde dette:

Function CheckInput(inputstr)
Dim regEx
Set regEx = New RegExp
regEx.Pattern = "^[a-zA-Z0-9]+$"
regEx.IgnoreCase = True
CheckInput = regEx.Test(inputstr)
End Function

If CheckInput("test") = "False" Then
Error = "True"
  If type <> "" Then
  Type = Type & ",InvalidPass"
  Else
  Type = "InvalidPass"
  End If
End If
Avatar billede md_craig Nybegynder
07. august 2002 - 11:38 #14
Medions >>> det er VBScript i ASP... så det er slet ikke nødvendigt at bruge <script language="VBScript" type="text/vbscript">

Det skal bruges til at tjecke nogle strenge inden de skrives ind i en DB.. er der en fejl i en af strengene... Mail, Navn, Pass, BPass, OSV...

hvis den så finder noget.. så skal den ikke komme med en msg box men sende en tilbage til siden hvor man opgav oplysningerne...

og så skal den lige farve det der er udfyldt forkert rødt... og den skal skrive en besked om hvorfor... over input boxen...

men jeg hælder meget til Soes løsning da man der kan gå ind og definere hvilke der må bruges i stedet for.. for meningne er at man kun må bruge:

a-z
A-Z
0-9

og så er det også meget mere simpelt i stedet for at bruge et array.. og så loope gennem alle tegn... hvilket i princippet er det samme som jeg sørger om man kan undgå... her gøres det bare ved et loop og ikke en direkte gennemløb
Avatar billede soes Nybegynder
07. august 2002 - 11:40 #15
ja, men der skal ikke være " " omkring False da det ikke er en tekst værdi som den retunere, men istedet er det en booleansk værdi.
Avatar billede md_craig Nybegynder
07. august 2002 - 11:51 #16
ok... takker for hjælpen... så kan jeg komme videre...
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
Kurser inden for grundlæggende programmering

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