Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Regular Expression +syntax problem.

Postades av 2007-04-25 11:05:10 - Mirsad Hasic , i forum asp - allmänt, Tråden har 9 Kommentarer och lästs av 857 personer

Tja alla.

Har problem med följande regular expression i ASP + VBScript

regEx.Pattern ="\^[^<>`~!/@\#}$%:;)(_^{&*=|'+]+$\"

Jag får följande error när jag kör scriptet:

Feltyp:
Körningsfel i Microsoft VBScript (0x800A1399)
Syntaxfel i reguljärt uttryck


Är det någon som kan se någon fel i syntaxen, är inte så insatt i VBScript så jag vet inte.

Tack på förhand.


Svara

Sv: Regular Expression +syntax problem.

Postades av 2007-04-25 11:42:59 - Andreas Hillqvist

Vad vill du matcha mot?
Jag tolkar det som att du vill ha en sträng som inte är tomm och innehåller inte något av följande tecken:
<info>^<>`~!/@\#}$%:;)(_^{&*=|'+</info>
Då några av dem har funktion i regular expressions så antar jag att problemet är att du inte "escapat" dem.


Svara

Sv:Regular Expression +syntax problem.

Postades av 2007-04-25 11:52:10 - Mirsad Hasic

Mm precis det du säger, men hur escapar jag de, har kollat på MSDN och är lite osäker på hur man gör

ska man ha t.ex så här

^<>`~!/@\#}$%:;)(_^{&*=\|'+


T.ex så har jag ändrat nu | till \| men ska det vara en backslash eller ska jag ha de så här istället

\|\

Eller ?



Svara

Sv: Regular Expression +syntax problem.

Postades av 2007-04-25 12:17:46 - Andreas Hillqvist

Så som du gör nu ger bara träffar om strängen bara innehåller ogilliga tecken.
Om man blandar giltliga med ogiltliga kommer det att gå igenom.

Om du vill att tecknen skall vara helt förbjuden så är det ett grund fel i ditt sätt att uttrycka dit regular expresion.

För att avgöra om en sträng innehåller något ogiltligt tecken kan du istället skriva:

    regEx.Pattern = "[abc]" 
    If regEx.test(Value) Then
        'Fel
    Else
        'OK
    End If

Exempel där tecknet a, b och c är förbjudna.

Följande förbjuder ^-tecknet:
    regEx.Pattern = "[\^]" 
    If regEx.test(Value) Then
        'Fel
    Else
        'OK
    End If


Svara

Sv:Regular Expression +syntax problem.

Postades av 2007-04-25 15:02:33 - Mirsad Hasic

Trodde att jag fixade det men icke.

Ta en titt på denna funktion under. Hur än jag skriver regular expression så står det "OK" och inte

"The user wrote some invalid letter"

Tänker jag fel i koden eller, är ju ingen märkvärdig funktion i sig.






Dim chkInvalid
'chkInvalid = "$()*+[]^{}|"
chkInvalid = "abcd"

			function voteTest(checkIt)
			 ' voteTest = false
			  Dim regEx, regExpress
			  Set regEx = New RegExp
				 
			  ' Set pattern:   
			  expression = "^[^\$\(\)\*\+\[\]\^\{\}\|\\\/]$"	    
			  regEx.Pattern = regExpress
			   
			  ' Set case sensitivity.
			  regEx.IgnoreCase = true
							  	
			  ' Execute the search test.
			  If regEx.Test(checkIt) Then
			      Response.Write("The user wrote some invalid letter.")
			  else 
			      Response.Write("OK")
			  end IF
		  
			End Function


call voteTest(chkInvalid)



Svara

Sv: Regular Expression +syntax problem.

Postades av 2007-04-25 15:24:31 - Andreas Hillqvist

Function ValidString(checkIt)
Dim regEx
    Set regEx = New RegExp
                    
    regEx.Pattern = "^[^\$\(\)\*\+\[\]\^\{\}\|\\\/]+$"
              
    ' Execute the search test.
    ValidString = regEx.test(checkIt)
End Function

Dim Data
Dim chkInvalid

    Data = Array("$()*+[]^{}|", _
                 "abc", _
                 "a$")

    For Each chkInvalid In Data
        If ValidString(chkInvalid) Then
            Response.Write """" & chkInvalid & """ is OK<br/>" & vbCrLf
        Else
            Response.Write """" & chkInvalid & """ contains invalid charecters.<br/>" & vbCrLf
        End If
    Next


Alternativt:

Function ValidString(checkIt)
Dim regEx
    Set regEx = New RegExp
                    
    regEx.Pattern = "[\$\(\)\*\+\[\]\^\{\}\|\\\/]"
              
    ' Execute the search test.
    ValidString = Not regEx.test(checkIt)
End Function


JAg tycker det är bättre att separera logik och presentation. Att inte göra Respons.Write i funktionen.


Svara

Sv:Regular Expression +syntax problem.

Postades av 2007-04-25 15:31:11 - Mirsad Hasic

Ok, ser ju fint ut men jag skulle uppskatta om du kunde säga vad som är fel med min funktion, så att jag lär mig av misstaget, tänker jag fel i funktionen eller ? För mig verkar det som att det borde funka. Vart skär det sig liksom i funktionen?


Svara

Sv: Regular Expression +syntax problem.

Postades av 2007-04-25 16:01:22 - Andreas Hillqvist

Du lär dig mer om du kommer på det själv.


Svara

Sv:Regular Expression +syntax problem.

Postades av 2007-04-25 16:38:56 - Mirsad Hasic

Variablen är lite galet tilldelad den har jag ändrat men ananrs förstår jag inte vad jag gör för fel, då jag inte heller får några errors, samt att min kunskap inom VBScript inte är så stor direkt (vilket säkert märks)


Svara

Sv: Regular Expression +syntax problem.

Postades av 2007-04-25 16:56:20 - Andreas Hillqvist

* Du hadde \ i början och slutet av dit regular Expression
* Du hade inte escapat tecknen
* Du växlade plats på possetiv och negativ utfall mot uttrycket. Dett var nog på grund av min kod där jag istället för att testa att strängen bara innehöll giltliga tecken istället testade om strängen innehöll någit giltligt tecken:
Om alla tecken är giltliga -> Strängen är giltlig
Om det existerar et ogiltligt tecken -> Strängen är ogiltlig


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 159
27 952
271 704
1 735
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies